Git 撤销工作区中的改动

当工作区进行修改后发现错误,想重新修改又不知道刚刚改动了哪里,想撤销刚刚的改动怎么办?


此时可以使用命令 $ git checkout -- 进行撤销修改。


  • 如果工作区修改后还未执行 add 命令添加到缓存区。这时候执行该命令可以让工作区的内容恢复到你当前在用的版本。即撤销后的文件内容将和你修改之前所用的版本库里某次提交的内容一样。

  • 如果在add后又更改了工作区,执行该命令可以撤销刚刚的改动。那么撤销后的文件内容将恢复到刚刚你最近一次执行add后的内容,而不是当前版本的提交内容。


例如在一个已经没有任何修改需要提交的工作区添加一行代码,此时想撤销这行代码,在命令行窗口执行该命令将会成功撤销刚刚在工作区的改动,刚刚的一行代买消失。如果在添加那行代码后执行了add 命令,又添加了第二行代码。则此时执行该命令后,工作区的内容将恢复到刚刚add后的内容。即第二行代码消失,第一行代码还存在。


总结对于命令 $ git checkout -- <filename>,其实是用版本库里的版本替换工作区的版本。

如果文件内容已经add后再想进行撤销修改。将不能实现,即如果你刚刚修改了工作区的内容且已经add 后,在接着没有再次改动过工作区的前提上执行该命令无效。因为该命令只适用于撤销工作区中还未执行 add 的改动。



你可能感兴趣的:(web前端)