我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

解决 Git 变基后的合并冲突

当您执行 git rebase 操作时,通常会移动提交。 因此,您可能会遇到引入合并冲突的情况。 这意味着您的两个提交修改了同一个文件中的同一行,而 Git 不知道要应用哪个更改。

此文档对您有帮助吗?

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。

在使用 git rebase 重新排序和操作提交后,如果发生合并冲突,Git 会告知您,并将以下消息打印到终端:

error: could not apply fa39187... something to add to patch A

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 fa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841... Change fake file
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 fa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841... Change fake file

在这里,Git 告知您哪个提交导致冲突 (fa39187)。 您有三个选择:

  • 您可以运行 git rebase --abort 完全撤消变基。 Git 将您恢复为分支状态如同调用 git rebase 之前一样。
  • 您可以运行 git rebase --skip 完全跳过提交。 这意味着将不包括由有问题的提交引入的任何更改。 您很少会选择此选项。
  • 您可以解决冲突。

要解决冲突,可以按照从命令行解决合并冲突的标准过程操作。 完成后,您需要调用 git rebase --continue 以便 Git 继续处理变基的其余部分。

此文档对您有帮助吗?

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。