从 web UI 同步复刻分支
- 在 GitHub Enterprise Cloud 上,导航到您想要与上游版本库同步的复刻仓库主页。
- 选择 Fetch upstream(提取上游)下拉菜单。
- 查看上游仓库中有关提交的细节,然后单击“提取并合并”。
如果上游仓库的更改导致冲突,GitHub 将提示您创建拉取请求以解决冲突。
使用 GitHub CLI 同步复刻分支
GitHub CLI 是用于从计算机的命令行使用 GitHub 的开源工具。 从命令行操作时,您可以使用 GitHub CLI 来节省时间并避免切换上下文。 要了解 GitHub CLI 的更多信息,请参阅“关于 GitHub CLI”。
要从其父级更新远程复刻,请使用 gh repo sync -b BRANCHNAME
子命令,并提供复刻和分支名称作为参数。
$ gh repo sync owner/cli-fork -b BRANCHNAME
如果来自上游存储库的更改导致冲突,则 GitHub CLI 无法同步。 您可以设置 -force
标志以覆盖目标分支。
从命令行同步复刻分支
必须在 Git 中配置指向上游仓库的远程仓库,然后才能将您的复刻与上游仓库同步。
-
打开 Terminal(终端)Terminal(终端)Git Bash。
-
将当前工作目录更改为您的本地仓库。
-
从上游仓库获取分支及其各自的提交。 对
BRANCHNAME
的提交将存储在本地分支upstream/BRANCHNAME
中。$ 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 上更新复刻,您必须推送更改。