1. 撤销操作技巧
任何时候,你都有可能需要撤消刚才所做的某些操作。本段总结git中常用的撤销操作:
修改最后一次提交(commit)
- 提交信息写错了
有时候我们提交完了才发现提交信息写错了。想要撤消刚才的提交操作,可以使用--amend选项重新提交:
$ git commit --amend
如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会重新编辑提交说明。
- 有时候我们提交完了才发现漏掉了几个文件没有加,可以先补上暂存操作,然后再运行 --amend 提交:
$ git commit -m 'initial commit' #这是第一次提交,提交后发现漏东西了
$ git add forgotten_file
$ git commit --amend
启动文本编辑器后,会看到上次提交时的说明,编辑它确认没问题后保存退出,就会使用新的提交说明覆盖刚才失误的提交。上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。
取消已经暂存的文件
有修改过的文件不小心用 git add 加到了暂存区域。该如何撤消暂存其中的一个文件呢?
可以使用 git reset HEAD <file> 的方式取消暂存。
取消对文件的修改
如果觉得刚才对 一个文件的修改完全没有必要,该如何取消修改,回到之前的状态(也就是修改之前的版本)呢?
可以使用抛弃文件修改的命令:git checkout -- <file>,这条命令有些危险,所有对文件的修改都没有了,因为我们刚刚把之前版本的文件复制过来重写了此文件。所以在用这条命令前,请务必确定真的不再需要保留刚才的修改。
2. 命令行缩写偷懒技巧
在git中有一些非常常用的命令,如git status、git commit等,打这些命令的时候如果想偷懒少敲几个命令的字符,可以用 git config 为命令设置别名。来看看下面的例子:
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
现在,如果要输入 git commit 只需键入 git ci 即可。而随着 git 使用的深入,会有很多经常要用到的命令,遇到这种情况,不妨建个别名提高效率。