为什么rebase只有重写提交消息才会出现问题?

时间:2018-03-16 08:06:19

标签: git

我有一个分支,大约有50个提交被推送到原点。然后有一天,我想编辑提交消息的文本(因为我们在提交消息中使用了对Jira任务的引用,我需要修复它)。所以我知道的唯一方法是运行交互式rebase:

git rebase -i origin/my-precious-branch~30 my-precious-branch

然后我选择了一些提交并将pick更改为r(对于reword)。接下来会发生什么困扰我。对于大多数提交 - 它只是打开编辑器,我可以手动更改提交文本(很好)。 但随后它停止了其中一个:

error: could not apply 616b308fe9e... OLD-MESSAGE: 1

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
Could not apply 616b308fe9e3d4cd8845d090720f1cdad97add73... OLD-MESSAGE: 1

这里发生了什么?为什么?

1 个答案:

答案 0 :(得分:1)

根据您的评论,看起来您有一个或多个您的rebase正在进行的合并提交。重新绑定合并提交变得复杂,因为您必须重做合并,或者可能让Git尝试重新创建合并。在任何情况下,您遇到的冲突可能是由于它是合并提交。

请参阅此处了解如何处理这种情况:

https://codepen.io/weblongzhao/full/oqLQoN

如果您已准备好应对此类冲突,那么您仍可以重新提交提交注释。