删除git stash中跟踪的文件,然后git stash pop

时间:2018-04-19 22:10:10

标签: git github

我做了git stash。然后我做了git stash pop,但收到了以下错误:

  

错误:您对以下文件的本地更改将被覆盖   合并:     [PROJ] .xcodeproj / project.xcworkspace / xcuserdata / [用户] .xcuserdatad / UserInterfaceState.xcuserstate     Leaflet- [PROJ] /Leaflet.xcodeproj/xcuserdata/ [用户] .xcuserdatad / xcdebugger / Breakpoints_v2.xcbkptlist   请在合并之前提交更改或存储更改。中止

我做出了改变。我再次尝试git stash pop无济于事。然后我删除了git rm --cached的文件并提交了这些删除。 git stash pop现在提供error: refusing to lose untracked file

git status:

  

您的分支机构领先于原始/临时'由2个提交。 (使用" git   推"发布您的本地提交)

     

未合并的路径:(使用" git reset HEAD ..."取消展示)(使用   " git add / rm ..."适用于标记决议)

     

我们删除:
  [PROJ] .xcodeproj / project.xcworkspace / xcuserdata / [用户] .xcuserdatad / UserInterfaceState.xcuserstate     我们删除:
  [PROJ] / xcuserdata / [用户] .xcuserdatad / xcdebugger / Breakpoints_v2.xcbkptlist

1 个答案:

答案 0 :(得分:0)

如果您删除了存储中的文件,则无法合并存储的更改,因为它无法合并到不存在的文件中。听起来就像你说你早些时候提交了你的更改,你可能已经做了git add而不是git commit?执行git commit运行后git stash pop应该有效。如果你这样做了,但事实并非如此,我不确定问题是什么,因为你当时没有提供足够的信息。

您现在有几个选择。最安全的可能是git stash branch <branchname>。这将检查你的最后一个存储到一个新分支。从那里,您可以根据需要进行编辑,将更改提交到分支,然后将其合并回您正在处理的分支。

如果您只想丢弃最新的藏匿信息,可以git stash drop

如果您想丢弃所有藏匿处:git stash clear