如何在本地获取上游并解决分叉分支的冲突?
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
,因为您更改了分支历史记录)
我分叉了一个 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
,因为您更改了分支历史记录)