在使用 TortoiseGit 进行 git revert 操作时,我会得到如下美丽的窗口:
但是,当我想要通过命令行执行相同操作时,文档 完全把我搞糊涂了。如何撤销所有本地未提交的更改?
在使用 TortoiseGit 进行 git revert 操作时,我会得到如下美丽的窗口:
但是,当我想要通过命令行执行相同操作时,文档 完全把我搞糊涂了。如何撤销所有本地未提交的更改?
如果要放弃所有本地修改,不需要使用revert命令。 revert命令是用来撤销提交的。相反,可执行以下命令:
$ git reset --hard
当然,如果你跟我一样,输入了这个命令后7毫秒就会想起自己刚刚删除了某些不该删除的内容,那么你可能更愿意使用:
$ git stash save 'Some changes'
这样可以放弃工作目录中的更改,但仍然可以恢复它们。
假设你还没有提交,你也可以:
git checkout filename(s)
像我这样的Git新手应该知道工作目录' != pwd
。
它实际上指的是整个树。
所以我很感谢Williams的建议,使用:
$ git stash save 'Some changes'
$ git stash pop
revert
是创建一个新的提交以撤消以前的提交,reset
才是你想要的(还原未提交的更改)。 - CharlesB