从 Web 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
-
检出你的 fork 的本地默认分支 - 在本例中,我们使用
main
。$ git checkout main > Switched to branch 'main'
-
将上游默认分支(在本例中为
upstream/main
)中的更改合并到你的本地默认分支中。这会使你的 fork 的默认分支与上游存储库同步,同时不会丢失你的本地更改。$ 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(-)
如果你的本地分支有唯一的提交,你可能需要解决冲突。有关更多信息,请参阅“解决合并冲突”。
提示:同步你的 fork 仅更新你的本地存储库副本。若要更新你在 GitHub.com 上的 fork,你必须 推送你的更改。