car*_*man 6 git rebase branching-and-merging
我正在将几个提交的分支重新定位到上游分支.我被某种类型的失败所阻止,我无法继续执行我的分支中的剩余提交,所以当git reset似乎不起作用时,我需要一种方法来继续.
正如我所说,我正在重新分支.我总是像这样进行变基,对于一两个提交有冲突解决空提交我并不感到惊讶.但是在我完成冲突解决步骤(编辑冲突并添加结果文件的文件)之前,我不知道哪些提交.所以这是发生的事情的抽象版本:
$ git checkout working_branch
$ git rebase -i upstream
[Here it is reported that file.c has conflicts. I edit it.
The resulting diff is empty.]
$ git add file.c
$ git rebase --continue
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git reset'
rebase in progress; onto xxxsha
Run Code Online (Sandbox Code Playgroud)
然而,在这一点git reset上没有任何帮助,我最终得到了相同的确切状态.我不希望有空提交.我之前已经从这个过程中遇到了潜在的空提交,并且我一直很高兴让提交消失.
我遇到了一个问题,git cherry-pick不能正常工作,几乎完全相同的结果,但是从挑选一个提交,而不是重新分支.另一位询问者很高兴继续前进,不做樱桃挑选.逐步我认为rebase使用cherry-pick进行每次提交,我有几个提交要逐步完成.在我的情况下,这发生在我的分支的第一次提交,我需要一个真正的解决方案继续.
要点是仔细查看摘要行。答案是,git rebase --continue如果您注意到它说不能应用的提交摘要行实际上是下一次提交。屏幕上的文本与该命令经常显示的通常为空的提交消息有多么相似,这让我感到震惊。但这是另一种信息。实际上,它继续进行,并且正在处理下一次提交,该提交被自动解析为空。文本包括分支的下一次提交的摘要行,而不是我刚刚解决的提交的摘要行。因此,当以这种方式显示空提交状态时,可以再次继续操作而无需费吹灰之力。
| 归档时间: |
|
| 查看次数: |
3171 次 |
| 最近记录: |