- git log --graph 命令查看分支合并图。
- git stash "保存当前工作现场"
- git stash list "查看已保存的现场"
- git stash pop "恢复现场“
- git branch -D <name> 强行删除一个没有被合并过的分支
- git checkout -b dev origin/dev 创建远程 origin 的 dev 分支到本地
- git clone git@github.com:<用户名>/<仓库名> 克隆远程仓库
- git show <tagname> 查看标签信息
- git tag <tagname> 新建一个标签,默认为HEAD,也可以指定一个commit id
- git tag -a <tagname> -m "blablabla..." 指定标签信息
- git tag 可以查看所有标签
- git push origin <tagname> 可以推送一个本地标签
- git push origin --tags 可以推送全部未推送过的本地标签
- git tag -d <tagname> 可以删除一个本地标签
- git push origin :refs/tags/<tagname> 可以删除一个远程标签
-
穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 -
要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。
命令 git checkout -- readme.txt
意思就是,把 readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git checkout -- file
命令中的--
很重要,没有--(两个 - )
,就变成了“切换到另一个分支”的命令。
命令 git reset HEAD <file>
可以把暂存区的修改撤销掉(unstage),重新放回工作区
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- test.txt
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。