git stash恢复了一些但不是全部的变化

时间:2014-12-08 22:22:49

标签: git git-stash

在分支A工作期间,办公室发生火灾,需要灭火。我还不想提交我的更改。我添加了2个新文件,并更改了7.没有任何更改被暂存。我想暂时隐藏我的更改,并使用了' git stash -a'。我真正想要的是-u开关,但错误地使用了-a。我的整个项目都被隐藏了,我的分支正如预期的那样恢复到最后一次提交。

我切换到B分支,做了一些工作,然后做出了承诺。

然后我转回分支A,并打电话给git stash pop'。通过阅读" [filename]滚动的许多重复行已经存在,没有结帐",然后用消息#34完成;无法从存储中恢复未跟踪的文件"。检查我的分支显示2个未跟踪的文件已恢复,但7个更改的文件没有。 ' git status'显示2个未跟踪的文件,没有其他更改。因为我隐藏了整个项目,所以大约有1500个文件被比较,所以我不知道与7个更改文件的比较结果显示...它滚动缓冲区。

' git stash list'表明存储中仍有一个条目: "存储@ {0}:分支A上的WIP:ffef125 [最后提交消息]"

&#39; git stash show&#39;确实在存储中显示我的7个已更改的文件,但是当我弹出“存储”时,这些文件没有恢复,并且条目仍然存在(这与我对pop的期望不一致)< / p>

我想知道是否与7个更改的文件存在某种合并冲突,但其中任何一个都没有冲突解决标记。

为什么我无法恢复我的7个更改文件,以及解决方法是什么?另外,为什么git说它无法恢复未跟踪的文件,实际上那些是WERE恢复的东西?

1 个答案:

答案 0 :(得分:0)

问题解决了。

我通过

解决了这个问题
  1. 检出藏匿分支
  2. 将我想要的文件复制到临时目录
  3. 查看我原来的工作分支
  4. 将保留的文件复制到我的工作分支
  5. 然而,并不完全清楚为什么问题首先发生。基于我与人们比我更流利的人的谈话,它可能与最近的提交是合并并且我没有进行任何改变这一事实有关。但同样,这是纯粹的猜想。