Git常使用命令

160 阅读4分钟

一、下载配置

--安装git
//安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:
http://brew.sh/

--windows上安装一天
//官网下载,安装成功后设置:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com”

--基础信息
modified : 已修改,修改了项目,但是没有提交,没有 git add
staged : 已暂存,就是没有 git commit
commited : 已提交,保存到本地数据库

--查看当前git配置
git config -- list
git config user.name
git config user.email
//设置当前用户信息
git config user.name  your.name
git config user.email your.email
//全局查看/设置user信息
git config -- global user.name
git config -- global user.name your.name

--配置.gitignore
在项目的根目录下新建.gitignore文件

--配置ssh
//避免每次输入用户名和密码
cd ~/.ssh     //进入对应目录 
ls            //如果有可以看到私钥id_rsa文件和公钥id_rsa.pub 
cat id_rsa.pub 或者 vim id_rsa.pub     //查看文件内容
//如果没有ssh,可以ssh-keygen命令生成,gitlab和github的上面都有具体介绍

二、基本使用

--初始化仓库
git init

--文件跟踪
git add XXX //跟踪某个文件
git add . //跟踪全部文件

--提交到本地仓库
git commit -m "XXX"//附带说明提交
git commit -am "XXX"//将所有已跟踪的文件暂存起来一并提交到本地仓库

--推到远程仓库
git push -u origin XXX //使用-u为当前分支定制一个源,以后就可以直接使用git push,不用再带git push origin ...
git push origin XXX //提交到远程仓库XXX分支

--拉取远程仓库文件
git fetch origin XXX //拉取远程分支
git pull origin XXX //拉取远程分支并自动合并

--合并分支代码
git merge XXX //合并目标分支XXX到当前分支

--切换分支
git checkout XXX //切换分支到XXX

--查看冲突
git diff

--查看历史提交
git log //按提交时间倒序列出所有提交记录
git log -- online //查看简要的历史命令
git reflog //可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录

--查看当前分支
git branch

--创建新分支
git checkout -b XXX //创建并切换到新分支XXX

--删除分支
git branch -d XXX //删除本地分支
git branch -D XXX //删除远程分支

--移除本地文件
git rm XXX

三、其他使用

--进入insert界面
1、按键盘上的i键进入insert模式
2、修改信息,也可以选中不修改
3、按esc键离开界面
4、输入“:wq”,按回车键

--拉取远程代码到本地
git remote add origin git... //连接到远程项目
git branch //默认拉取的为master分支代码
git fetch origin XXX //获取远程XXX分支代码
git checkout -b xxx(本地分支名) XXX(远程分支名)
git pull origin XXX

--版本回退/切换
方法一:git revert XXX //将当前分支的header指向XXXcommit
方法二:git reset -hard XXX //将当前的分支header退到XXXcommit
git push -f -u origin XXX //git reset后的强制提交

--stash暂存区
git stash save "you change message" //将当前的改动暂存起来
git stash list //查看当前stash
方法一:git stash pop //取出stash最后一次,并删除
方法二:git stash apply //应用stash多次的到当前,但不删除stash list
git stash drop stash@{0} //单条删除stash
git stash clean //清空stash
git stash show stash@{0} //查看当前和stash列表某次提交的差别
git stash show -p //在命令行查看特定stash的全部diff
git stash branch nowBranchName //将当前的stash移到新创建的分支

PS:
默认情况下,git stash会缓存下列文件:
--添加到暂存区的修改(staged changes)
--Git跟踪的但并未添加到暂存区的修改(unstaged changes)
但不会缓存一下文件:
--在工作目录中新的文件(untracked files)
--被忽略的文件(ignored files)
git stash -a //stash下目录下所有的修改

--将本地分支的代码关联到远程分支
git push origin origin branchA:branchB
//branchA是当前分支的名字,branchB是远程要生成的新分支的名字
//这一步就提交成功了,可以切换到新分支,并拉取新分支内容查看
git checkout branchB

四、git新建项目后关联

--将新建项目推送到git新建项目
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github...
git push -u origin master

--将已有项目推到git
git remote add origin git@github...
git push -u origin master