git常用命令速查表


Tips

|Tips | |
|:—- | ——- |
|master: |默认开发分支 |Head:默认开发分支的指针(快照)|
|origin: |默认远程版本库 |Head^:Head的父提交|

创建版本库

|创建版本库 | |
|:—- | ——- |
|$ git clone |#克隆远程版本库|
|$ git init |#初始化本地版本库|

修改和提交

|修改和提交 | |
|:—- | ——- |
|$ git status |#查看当前修改状况|
|$ git diff |#查看变更的内容|
|$ git add . |#把所有修改的文件添加到缓存(跟踪文件)|
|$ git add |#把指定的文件添加到缓存|
|$ git mv |#修改文件名|
|$ git rm |#删除文件|
|$ git rm –cached |#停止跟踪文件但不删除|
|$ git commit -m “message” |#提交所有更新过的文件|
|$ git commit –amend |#修改最后一次提交|

查看提交历史

|查看提交历史 | |
|:—- | ——- |
|$ git log |#查看提交历史|
|$ git log -p |#查看指定文件提交历史|
|$ git blame |#以列表的方式查看指定文件提交历史|

撤销

|撤销 | |
|:—- | ——- |
|$ git reset –hard HEAD |#撤销工作目录中所有未提交文件的修改内容|
|$ git checkout HEAD |#撤销指定未提交文件的修改内容|
|$ git revert |#撤销指定的提交|

分支与标签

|分支与标签 | |
|:—- | ——- |
|$ git branch |#显示所有本地分支|
|$ git branch -r |#显示所有远程分支|
|$ git branch -a |#显示所有本地和远程分支|
|$ git checkout <branch/tag> |#切换到指定分支或标签|
|$ git branch |#创建新分支|
|$ git checkout -b |#创建并切换到新分支|
|$ git branch -d |#删除本地分支|
|$ git tag |#显示所有本地标签
|$ git tag |#基于最新提交创建标签|
|$ git tag -d |#删除标签|

合并与衍合

|合并与衍合 | |
|:—- | ——- |
|$ git merge |#合并指定分支到当前分支|
|$ git rebase |#衍合指定分支到当前分支|

远程操作

|远程操作 | |
|:—- | ——- |
|$ git remote -v |#查看远程版本库信息|
|$ git remote show |#查看指定远程版本库信息|
|$ git remote add |#添加远程版本库|
|$ git fetch |#从远程库获取代码|
|$ git pull |#从远程库拉去代码并快速合并|
|$ git push |#上传代码到远程库并快速合并|
|$ git push -d <branch/tag> |#删除远程分支或标签|
|$ git push –tags |#上传所有标签|

同步远程已删除的分支

|同步远程已删除的分支 | |
|:—- | ——- |
|$ git branch -a |#查看本地分支和远程所有分支|
|$ git remote show origin |#查看本地分支和追踪情况|
|$ git remote prune origin |#同步远程已删除分支|

常见指令参数说明

# 将本地的分支版本上传到远程仓库
# 其中参数 -u 创建了一个上游跟踪连接
# 第一次推送某个新分支到远程仓库时,它用来将本地新分支同步到线上

$ git push -u origin master

特殊操作

  • git合并特定commits到另一个分支
$ git checkout <branch>
$ git cherry-pick <commit>

  目录