如何在本地获取上游并解决分叉分支的冲突?

How to fetch upstream and resolve conflicts for a forked branch locally?

我分叉了一个 Github 回购并提高了 PR 以做出一些贡献。在合并之前,对父仓库进行了一些其他提交。要获取上游,我需要解决与上游的冲突。我如何在本地获取上游并解决这些更改?

您可以按照 GitHub docs 进行操作,但一个快速的方法是:

假设您创建了一个分叉并仅克隆了您的分叉:

您需要做的第一件事是添加一个指向上游项目的新远程。

在您的本地分支中,运行 git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

获取遥控器:git fetch upstream

确保您在要合并的分支中并且 运行 git rebase upstream/<branch you want to merge to>

这会将您的分支移动到并在其上添加来自您的分支的提交。

如果在过程中遇到合并冲突,需要:

  • 解决冲突
  • git add 受影响的文件
  • git rebase --continue 继续变基

完成后,使用 git push --force origin <your branch>(如果您之前推送过分支,则需要使用 --force,因为您更改了分支历史记录)