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

此版本的 GitHub Enterprise 已停止服务 March 02, 2021. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

解决 Git 变基后的合并冲突

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

在使用 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 继续处理变基的其余部分。