Git常用指令
本地仓库管理
- 创建版本库:git init
- 添加文件到暂存: git add readme.txt
- 将文件暂存中的文件提交到本地仓库:git commit -m “add 3 files” -m之后冒号中的是当前提交的描述,以备之后查看历史时,知道该次提交做了什么。
- 查看仓库当前状态:git status
- 查看修改的内容有什么区别:git diff readme.txt
查看历史版本:git log 显示的内容如下:
查看历史版本【单行显示】:git log - -pretty=oneline 如下图显示:
回退到以前的版本:git reset - -hard 462e520 其中hard后面的字符串是git log中获取到的长字符串的后7位
- 丢弃工作区的修改:git checkout - - readme.txt用版本库里的版本代替工作区的版本
- 将暂存区里的修改撤销掉:git reset HEAD readme.txt 重新放回工作区
- 在版本库中删除文件:git rm test.txt,并且git commit -m
远程厂库
- 添加远程仓库,与本地仓库连接:git remote add origin git@ github:robbin/robbin_site.git
- 修改远程仓库地址:git remote set-url origin git@ github.com:robbin/robbin_site.git
- 用带版本的项目创建纯版本仓库:git clone –bare robbin_site robbin_site.git
- 客户端首次提交远程仓库:git push -u origin master
- 首次将本地develop分支提交到远程develop分支,并且track:git push -u origin develop
- 设置远程仓库的HEAD指向master分支:git remote set-head origin master
分支
- 创建分支:git branch new_branch
- 切换分支:git checkout new_branch
- 查看当前分支:git branch
- 分支合并:git merge new_branch
- 分支删除:git branch -d new_branch
- 合并冲突解决:用git log - -graph可以看到分支合并图。先合并,而后有冲突文件时先将冲突文件解决,然后再git commit
分支合并是尽量使用no- -ff模式:通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。 git merge - -no-ff -m “merge no-ff”new_branch效果如下图:
输入git log - -graph - -pretty=oneline - -abbrev-commit后
如果不使用Fast forward模式,merge后就像这样: