我最初在一个分支上工作,说A并使用git stash save <message>
隐藏了该分支中的一些更改。完成我在该分支中的工作后,我切换到另一个分支B,然后错误地键入git stash apply
,认为我在分支A上,这导致分支B上的几个文件发生冲突。
我尝试对这些文件执行git checkout
和git reset HEAD
,但它说文件已取消合并,我无法将我的分支恢复到原始状态。
有什么方法可以将我的分支B带到原始状态或者将我应用于分支B的存储错误地还原?
更新:根据最新的答案,运行git reset HEAD然后git checkout - 确实解决了这个问题。但是如果在我的情况下列表中有多个文件可能会耗费时间,是否有更好的方法可以在一次尝试中撤消所有这些更改?
答案 0 :(得分:1)
对于未合并的文件,如果您不想要进行更改,请执行以下操作:
git reset HEAD <filename>
git checkout -- <filename>
Git总是告诉您在执行git status
时如何将文件转换为其他状态(添加到暂存,放弃更改)。大部分时间遵循屏幕上的说明都会有所帮助。
要使整个分支进入最后一次提交的状态HEAD
(点[。]表示当前工作目录中的所有内容):
git reset HEAD .
git checkout -- .