我在我自己的本地功能分支上,想把它合并到master中。我检查了主人,做了git pull --rebase
,有一次冲突,解决了,但我忘记了git rebase --continue
之后。然后我做git merge my_other_branch
然后想把它推到原点,但是git告诉我我不在任何分支上,所以我就像“哦不,我模糊rebase --continue
”所以我做了然后然后git说“没有变化 - 你忘了使用git add吗?”。所以现在我不在任何一个分支上......处于一个独立的头状态。
我需要做些什么才能回到正轨?
答案 0 :(得分:2)
git rebase --skip
应继续坚持。
答案 1 :(得分:1)
Klas的回答可能更有用,但一般来说,“独立头”意味着您所寻找的不是分支。
因此,你可以通过检查一个分支(特别是你希望你所在的分支)来解决这个问题。
如果再次出现这种情况,我建议您使用gitk --all
查看当前状态,以了解存储库结构以及您的位置。
答案 2 :(得分:0)
这是一个棘手的问题,因为你现在搞砸了rebase
的内部。我会推荐这些步骤:
gitk --all
以查看您当前的结构。您应该特别能够看到当前的HEAD和以前的分支头。查看HEAD上的提交,看看哪些是有用的。如果您认为以后仍需要它,请在当前HEAD上创建临时分支。也许首先使用git commit -am "dirty"
git rebase --abort
- 你弄乱了这个rebase。我不认为rebase脚本能够让你离开那里。git rebase --onto
和git cherry-pick
取回您想要返回的所有提交内容。使用git reset
,git commit --ammend
和git rebase
进一步加强修正。
A--B--C
,并且您已成功将A
和B
重新定位为A'
和B'
(请检入gitk),你可以rebase --onto B' B
。