在使用Git的时候,有时候我们需要对已有的修改进行撤销操作, 接下来介绍一些基本的撤消操作相关的命令。
这个命名用于修改你最后的一次提交。如果在commit之后发现自己写错说明,或者漏掉某个文件,这个时候你可以用--amend重新提交一次。--amend使用与你刚才提交相同的快照进行修改,就相当于手动修改刚才的提交。
当你执行--amend时,git会启动你的编辑器,你可以修改刚才的注释,如果有遗忘的文件没有提交,可以先缓存然后在执行--amend。
git add test.rb
git commit --amend
--amend命令是修改已经提交的内容。当文件不小心被缓存之后,特别当你使用git add .之后,发现很多文件不是我们要提交的。这个时候你可以用:
git reset HEAD <file>
取消文件的缓存,但是文件修改的内容不会撤销。
如果我们需要撤销已经修改的内容,就需要使用, git checkout filename
git checkout test.rb
现在test.rb所有的修改都被撤回到当前分支HEAD时的修改了。
当我们回滚到历史某一个版本时,我们可以使用git reset命名。一般我们当前指针,也就是branch_name已经HEAD所指向的那个节点,是我们正在使用的版本。如果要回到当前版本之前某个历史版本,就可以使用git reset [--hard|soft|mixed|merge|keep] [
其中
当你发现某次提及有问题,需要撤销时可以使用git revert [
git revert 226d852d0c0
226d852d0c0提交就会被一次新的提交重置掉。
它与reset --hard的区别是,reset时历史上回朔,在这个历史区间内的所有提交都将的丢弃;而revert则是正对某次提交进行一次逆向操作。