{"meta":{"title":"解决 Git 变基后的合并冲突","intro":"执行 git rebase 操作时，通常会移动提交。 因此，您可能会陷入出现合并冲突的情况。 这意味着您的两个提交修改了同一个文件中的同一行，而 Git 不知道要应用哪个更改。","product":"开始","breadcrumbs":[{"href":"/zh/get-started","title":"开始"},{"href":"/zh/get-started/using-git","title":"使用 Git"},{"href":"/zh/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase","title":"在变基后解决冲突"}],"documentType":"article"},"body":"# 解决 Git 变基后的合并冲突\n\n执行 git rebase 操作时，通常会移动提交。 因此，您可能会陷入出现合并冲突的情况。 这意味着您的两个提交修改了同一个文件中的同一行，而 Git 不知道要应用哪个更改。\n\n在使用 `git rebase` 重新排序和修改提交后，如果发生合并冲突，Git 将在终端显示以下消息来通知你：\n\n```shell\nerror: could not apply fa39187... something to add to patch A\n\nWhen you have resolved this problem, run \"git rebase --continue\".\nIf you prefer to skip this patch, run \"git rebase --skip\" instead.\nTo check out the original branch and stop rebasing, run \"git rebase --abort\".\nCould not apply fa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841... Change fake file\n```\n\n在这里，Git 告诉你哪个提交导致了冲突 (`fa39187`)。 您有三个选择：\n\n* 可以运行 `git rebase --abort` 以完全撤消变基。 Git 将返回到分支的状态，即调用 `git rebase` 之前的状态。\n* 可以运行 `git rebase --skip` 以完全跳过提交。 这意味着任何由有问题的提交记录引入的更改都不会被纳入。 您很少会选择此选项。\n* 您可以解决冲突。\n\n若要解决冲突，可以按照[从命令行解决合并冲突的标准过程](/zh/pull-requests/how-tos/merge-and-close-pull-requests/resolving-a-merge-conflict-using-the-command-line)操作。 完成后，需要调用 `git rebase --continue`，以便 Git 继续处理变基的其余部分。"}