同步 fork(Syncing a fork)

当我们 fork 一个开源仓库之后,应该怎样将上游的仓库同步到我们的 fork 上呢?
以下文章翻译自 GitHub 的帮助文档 Syncing a fork

同步一个仓库的 fork 可以使它和上游仓库的最新状态保持同步。

在将上游仓库同步到你的 fork 之前,你必须在 Git 上配置上游仓库的远程站点。同步的步骤如下:

  1. 打开终端

  2. 变更当前路径到你的本地工程

  3. 从上游仓库中获取分支和它们各自的 commits。将 master 上的 commit 存储在本地分支 upstream/master 上。

    $ 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]      master     -> upstream/master
    
  4. 切换到你 fork 的本地 master 分支上,

    git checkout master
    Switched to branch 'master'
    
  5. upstream/master 上的改动合并到你本地的 master 分支上。这将上游仓库同步到你的 fork 的 master 分支上,而不会丢失你在本地的修改。

    git merge upstream/master
    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 将改为执行 fast-forward

    git merge upstream/master
    Updating 34e91da..16c56ad
    Fast-forward
     README.md                 |    5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    

提示:同步你的 fork 仅仅只是更新了本地上对仓库的拷贝。如果要更新 GitHub 上你的 fork,则必须推送这些更改。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,903评论 9 163
  • 夏天所有潮湿和沉闷都开始浮出水面。所有走过身边的人都陌生而粘稠,昨夜的雨似乎和任何一个明天无关,走着走着,我发现唯...
    1453阅读 307评论 0 1
  • 老公喉咙一响,或者心情不好脸色很难看,我立马有种惊恐的感觉,害怕他又要爆发了!所以我一直小心翼翼地讨好顺从,委屈求...
    竺子阅读 428评论 0 1
  • 馥萝梦蕾阅读 283评论 0 0

友情链接更多精彩内容