更新github上fork的仓库

背景

  • 在github上fork了某项目
  • 原仓库有新的改动
  • 想将原仓库的改动更新到自己fork的仓库

操作过程

以netty为例:

按照下面的步骤:

  1. 为本地仓库增加一个remote, 命名为"upstream":

     git remote add upstream git://github.com/netty/netty.git
    

    也有人推荐下面的多了--track参数的的方式:

     git remote add --track master upstream git://github.com/netty/netty.git
    
  2. fetch 这个upstream远程的所有分支到remote-tracking分支, 例如upstream/master

     git fetch upstream
    
  3. 确认当前分支是master分支, 如果不是checkout到master分支

     git branch
     git checkout master
    
  4. 同步upstream的修改到本地, 可以选择rebase或者merge

     git rebase upstream/master
     git merge upstream/master
    

    注: 推荐用merge.

  5. 将更新之后的版本推送到自己fork的仓库

     git push -f origin master
    

参考资料