如何在GitHub上同步Fork的仓库

263 阅读2分钟

在我们使用GitHub进行开源项目贡献时,经常会遇到这样的情况:我们fork了一个项目到自己的GitHub账户下,但随着时间的推移,原始仓库已经有了新的更新,而我们的fork仓库却还停留在旧的版本。这时,我们就需要将原始仓库的最新内容同步到我们的fork仓库。本文将详细介绍如何实现这一操作。

添加远程链接

首先,我们需要在本地的fork仓库中添加一个新的远程链接,通常我们将其命名为upstream,指向原始仓库。打开命令行,切换到你的本地仓库,然后输入以下命令:

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

这里的https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git应该替换为原始仓库的URL。这样,我们就在本地仓库中添加了一个指向原始仓库的远程链接。

获取远程更新

然后,我们可以通过以下命令来获取upstream的所有分支的更新:

git fetch upstream

这个命令会将upstream的所有分支的更新下载到本地。

合并更新

如果我们想同步原始仓库的主分支(通常是main或者master)到我们的本地主分支,我们需要首先切换到我们的主分支:

git checkout main

或者

git checkout master

然后,我们可以通过以下命令来合并upstream的主分支的更新:

git merge upstream/main

或者

git merge upstream/master

这个命令会将upstream的主分支的更新合并到我们的本地主分支。

推送更新

最后,我们可以通过以下命令来将同步后的内容推送到我们的GitHub仓库:

git push origin main

或者

git push origin master

这个命令会将我们的本地主分支的更新推送到我们的GitHub仓库。

示例

假设我们fork了一个名为awesome-project的仓库,原始仓库的URL是https://github.com/awesome/awesome-project.git。我们可以按照以下步骤来同步原始仓库的最新内容:

  1. 添加远程链接:

    git remote add upstream https://github.com/awesome/awesome-project.git
    
  2. 获取远程更新:

    git fetch upstream
    
  3. 切换到主分支:

    git checkout main
    
  4. 合并更新:

    git merge upstream/main
    
  5. 推送更新:

    git push origin main
    

希望这篇文章能帮助你更好地使用GitHub,如果你有任何问题,欢迎在评论区提问。