创建版本库
$ git clone <url> #克隆远程版本库
$ git init #初始化本地版本库
资源修改与提交
$ git status #查看资源状态
$ git diff #查看变更内容
$ git add . #所有改动的文件添加到暂存区
$ git add <file> #指定的文件添加到暂存区
$ git mv <old> <new> #文件修改名称
$ git rm <file> #删除暂存区、分支、本地文件
$ git rm --cached <file> #删除暂存区、分支文件
$ git commit -m "msg" #提交所有更新过的文件
$ git commit --amend #修改最后一次提交
撤销操作
$ git reset --hard HEAD #撤销工作目录所有未提交文件的修改内容
$ git checkout HEAD <file> #撤销指定的未提交文件的修改内容
$ git revert <commit> #撤销指定的提交
查看提交历史
$ git log #查看提交历史
$ git log -p <file> #查看指定文件的提交历史
$ git blame <file> #以列表方式查看指定文件的提交历史
$ git show <commit-id> #查看某次提交的修改内容
分支与标签
$ git branch #显示所有的分支
$ git checkout <branch/tag> #切换到指定分支或标签
$ git branch <new-branch> #创建新的分支
$ git branch -M <new-branch> #重命名分支
$ git checkout -b <new-branch> #创建新的分支并切换到新分支
$ git branch -d <branch> #删除本地分支
$ git tag #列出所有本地标签
$ git tag <tag> #基于最新提交创建标签
$ git tag -d <tag> #删除标签
$ git show <tag> #显示指定标签信息
$ git tag -a <tag> -m "msg" #基于最新提交创建标签并添加注释
合并与衍合
$ git merge <branch> #合并指定分支到当前分支
$ git rebase <branch> #衍合指定分支到当前分支(线性历史)
$ git cherry-pick <commit-id> #合并某次提交到当前分支
$ git ls-files -s #检查文件是否发生合并冲突(0-没有冲突,合并成功,其他值为失败;1-共同版本文件内容;2-当前用户对应的文件版本;3-合并后的文件对应的远程版本)
$ git show :n:filename #查看对应文件的对应版本的内容
远程操作
$ git remote -v #查看远程版本库信息
$ git remote show <remote> #查看指定远程版本库信息
$ git remote add <remote> <url> #添加远程版本库
$ git fetch <remote> #从远程库获取代码
$ git pull <remote> <branch> #下载代码及快速合并
$ git push <remote> <branch> #上传代码及快速合并
$ git push <remote> :<branch/tag> #删除远程分支或标签
$ git push origin --delete <branch> #删除远程分支
$ git push --tags #上传所有标签