所以,我检查了一个分支,做了一些工作,隐藏了更改,并检查了主人:
$ 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,返回我的分支,并将其应用于那里。我怎么能这样做?
答案 0 :(得分:1)
您必须先清理工作副本 - 也就是重置为上次提交的状态:
git reset --hard
然后签出最新的提交,并重新应用存储
答案 1 :(得分:1)
如果您申请了藏匿处,则应将更改内容保存在您的藏匿处git stash list
在这种情况下,您可以执行git reset --hard
并转到您的分支机构,然后git stash apply
或git stash pop
pop
和apply
之间的差异在于apply
,更改将保留在您的存储中,而pop
则会从您的存储列表中删除1}} p>