撤消混帐隐藏popup导致合并冲突
我开始更改我的代码库,没有意识到我在一个旧的主题分支。 转移他们,我想把他们藏起来,然后把他们应用到一个新的分支从主。 我用git stash pop
将正在进行的更改转移到这个新的分支上,忘记我没有在创build新的分支之前将新的更改拉到master中。 这导致了一堆合并冲突和丢失我的变化(因为我使用stream行)一个干净的藏匿处。
一旦我正确地重新创build了新的分支,我该如何恢复我的隐藏更改以正确应用它们?
事实certificate,Git足够聪明,如果不能干净地应用,就不要掉下来。 我能够通过以下步骤达到所需的状态:
- 为了解除合并冲突:
git reset HEAD .
- 保存冲突的合并(以防万一):
git stash
- 要回到master:
git checkout master
- 拉取最新的变化:
git fetch upstream; git merge upstream/master
git fetch upstream; git merge upstream/master
- 纠正我的新分支:
git checkout new-branch; git rebase master
git checkout new-branch; git rebase master
- 要应用正确的隐藏更改(现在是堆栈中的第二个):
git stash apply stash@{1}
幸运的是,在冲突情况下, git stash pop
并不会改变存储空间!
所以没有什么,担心,只是清理你的代码,并再次尝试。
说你的代码库是干净的,你可以回到那个状态: git checkout -f
然后做你忘了的东西,例如git merge missing-branch
之后,只是再次发射git stash pop
和你得到同样的藏匿,以前冲突。