我在工作阶段编辑了一些文件(没有添加它们git add -A
。没有承诺)。
现在我想将更改恢复到本地分支中的最后一次提交。
该怎么办?
我已经搜索了一下,发现:
git rebase -i HEAD
但后来我得到:
Cannot rebase: You have unstaged changes.
Please commit or stash them.
那么正确的方法是什么?
我在工作阶段编辑了一些文件(没有添加它们git add -A
。没有承诺)。
现在我想将更改恢复到本地分支中的最后一次提交。
该怎么办?
我已经搜索了一下,发现:
git rebase -i HEAD
但后来我得到:
Cannot rebase: You have unstaged changes.
Please commit or stash them.
那么正确的方法是什么?
您可以通过以下方式丢弃所有未提交的更改:
git reset --hard
警告:这真的会摆脱所有暂存或仅在工作树中的更改,并返回到上次提交的状态,因此请谨慎使用。
如果您可能希望再次恢复本地更改,并且只想暂时让它们离开(例如处理其他事情),您可以这样做:
git stash
... 反而
和
git stash
您可以将您当前的工作状态存储到存储中,并且稍后可以访问这些文件。在你“隐藏”之后,你应该自动进入你的最后一次提交。
现在你已经了解了,我强烈建议你阅读这篇文章,并永远理解它。 http://git-scm.com/2011/07/11/reset.html
如果您不想保留这些更改,那么
git reset --hard
或者如果你想保留它们
git reset --soft
如果你想保存,那么你可以使用它们的字母
git stash
将后者应用于
git stash --apply stash@{number}
只需执行以下命令。它将删除您的更改
git reset HEAD .
git checkout .