【发布时间】:2018-01-12 19:03:54
【问题描述】:
我将几个提交的分支重新定位到上游分支。我因某种故障而无法继续执行分支中的剩余提交,因此我需要一种方法来在 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
但是此时git reset 没有任何帮助,我最终得到了完全相同的状态。我不希望有一个空提交。我之前在这个过程中遇到过潜在的空提交,我一直很高兴提交消失。
我遇到了git cherry-pick not working 的问题,其中出现了几乎完全相同的结果,但来自于挑选一个提交,而不是重新设置分支。另一位询问者很高兴继续进行而不是挑选樱桃。逐步我猜 rebase 对每个提交都使用cherry-pick,我有几个提交要逐步完成。就我而言,这发生在我的分支的第一次提交时,我需要一个真正的解决方案才能继续。
【问题讨论】:
标签: git rebase branching-and-merging