意外的git藏匿,现在无法弹出 - 如何撤消?

时间:2014-01-30 16:15:59

标签: git

所以,我检查了一个分支,做了一些工作,隐藏了更改,并检查了主人:

   $ git checkout my-branch
   ... make changes
   $ git stash
   $ git checkout master

然后,我意外地将我的藏匿物应用于掌握,它不应该去的地方,并且收到了很多冲突消息:

   $ git stash apply
   Auto-merging app/common/collections/visitors-realtime.js
   CONFLICT (content): Merge conflict in app/common/collections/visitors-realtime.js
   ...

糟糕!现在我要撤消这个。试图弹出存储不起作用:

   $ git stash pop
   app/support/backdrop_stub/responses/licensing_realtime.json: needs merge
   styles/common/visitors_realtime.scss: needs merge
   unable to refresh index ...

我不能只看看另一个分支:

$ git checkout my-branch
app/support/backdrop_stub/responses/licensing_realtime.json: needs merge
styles/common/visitors_realtime.scss: needs merge
error: you need to resolve your current index first

我想取消将这些更改应用到master,返回我的分支,并将其应用于那里。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您必须先清理工作副本 - 也就是重置为上次提交的状态:

git reset --hard

然后签出最新的提交,并重新应用存储

答案 1 :(得分:1)

如果您申请了藏匿处,则应将更改内容保存在您的藏匿处git stash list

在这种情况下,您可以执行git reset --hard并转到您的分支机构,然后git stash applygit stash pop

popapply之间的差异在于apply,更改将保留在您的存储中,而pop则会从您的存储列表中删除