从网页 UI 同步分叉分支
-
在 GitHub 上,转到您想要与上游仓库同步的分叉仓库的主页。
-
在文件列表上方,选择 同步分叉 下拉菜单。

-
检查来自上游仓库的提交详情,然后点击 更新分支。
如果上游仓库的更改导致冲突,GitHub 将提示您创建拉取请求来解决冲突。
使用 GitHub CLI 同步分叉分支
GitHub CLI 是一款开源工具,可让您在计算机的命令行中使用 GitHub。使用命令行时,您可以利用 GitHub CLI 节省时间并避免切换上下文。如需了解更多关于 GitHub CLI 的信息,请参阅 关于 GitHub CLI。
要从上游仓库更新远程分叉,请使用 gh repo sync -b BRANCH-NAME 子命令,并将您的分叉和分支名称作为参数提供。
gh repo sync owner/cli-fork -b BRANCH-NAME
如果上游仓库的更改导致冲突,GitHub CLI 将无法同步。您可以设置 --force 标志来覆盖目标分支。
从命令行同步分叉分支
在您能够将分叉与上游仓库同步之前,必须在 Git 中配置一个指向上游仓库的远程仓库。有关更多信息,请参阅 为分叉配置远程仓库。
-
打开 终端终端Git Bash。
-
将当前工作目录更改为本地项目所在目录。
-
从上游仓库获取分支及其相应的提交。对
BRANCH-NAME的提交将存储在本地分支upstream/BRANCH-NAME中。$ git fetch upstream > remote: Counting objects: 75, done. > remote: Compressing objects: 100% (53/53), done. > remote: Total 62 (delta 27), reused 44 (delta 9) > Unpacking objects: 100% (62/62), done. > From https://github.com/ORIGINAL-OWNER/ORIGINAL-REPOSITORY > * [new branch] main -> upstream/main -
检出分叉的本地默认分支——在此示例中,我们使用
main。$ git checkout main > Switched to branch 'main' -
将上游默认分支(在此示例中为
upstream/main)的更改合并到本地默认分支。这会使您的分叉默认分支与上游仓库保持同步,同时保留本地更改。$ git merge upstream/main > Updating a422352..5fdff0f > Fast-forward > README | 9 ------- > README.md | 7 ++++++ > 2 files changed, 7 insertions(+), 9 deletions(-) > delete mode 100644 README > create mode 100644 README.md如果本地分支没有任何独有的提交,Git 将执行快进合并。更多信息请参阅 Git 文档中的 基本分支与合并。
$ git merge upstream/main > Updating 34e91da..16c56ad > Fast-forward > README.md | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-)如果本地分支有独有的提交,您可能需要解决冲突。更多信息请参阅 处理合并冲突。
提示
同步分叉仅会更新您本地的仓库副本。要在 GitHub.com 上更新分叉,您必须 推送更改。