1. 概述
在本快速教程中,我们将学习如何将GitHub仓库与原始仓库同步,原始仓库是被fork出来的。
2. 同步仓库
有以下两种方法可以同步仓库:
2.1. 使用GitHub网页界面
第一种方法是使用GitHub的网页界面。如果我们输入正在工作的分支的URL,会得到如下内容:
为了将分支与原始仓库同步,应该点击“同步fork”:
分支开始与原始仓库同步。完成后,分支将保持最新状态:
我们成功地将分支与原始仓库进行了同步。
2.2. 使用命令行(CLI)
另一种方法是使用命令行。要使用命令行同步我们的fork,首先应该进行克隆:
$ git clone https://github.com/[username]/[repository_name]
在克隆我们的fork之后,我们需要向原始仓库添加一个远程。我们可以给它起任何名字。这里我们叫它“上游”:
$ git remote add upstream https://github.com/[original_username]/[original_repository_name]
接下来,我们应该使用fetch从“上游”远程下载所有分支:
$ git fetch upstream
然后,切换到我们要更新的分支:
$ git checkout branch3
Branch 'branch3' set up to track remote branch 'branch3' from 'origin'.
Switched to a new branch 'branch3'
现在,我们需要改变本地分支的基础,使得我们的新提交出现在“上游”仓库的“主”分支之上:
$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Fast-forwarded branch3 to upstream/master.
最后,将更改推送到GitHub上的本地仓库:
$ git push -f origin branch3
我们使用了-f标志强制推送更改到远程仓库。
3. 总结
在本快速教程中,我们学习了如何使用GitHub的网页界面和命令行两种方式,将fork仓库与原始仓库进行同步。