Git多仓库追踪更新的方法

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

有时候,我们在github上看到特别棒的项目,忍不住想要深入的研究,对代码进行一些自己的修改,同时又想保持和本源项目的同步更新,此时就面临着两全的问题:既要有自己的修改,又要有作者的更新。

Git多仓库正好可以解决这个问题,能够在保持修改的同时,追踪本源的更新。下面是解决步骤:

  • 假如有本源项目仓库:source,首先,需要在github页面,fork一份代码。

Alt text

  • 对于fork生成的仓库:mine,将代码clone到本地:
1
$ git clone mine.git
  • 本地做一些自己的修改,保持修改很简单,就是普通的push
1
2
3
$ git add .
$ git commit -m "commit my change"
$ git push origin master
  • 如果本源仓库source有更新,想要将更新运用到mine仓库中,需要做如下几步操作:
  1. 首先需要将source加入到远程仓库列表中,比如取名为upstream

    1
    $ git remote add upstream source.git //只需做一次
  2. 每次需要追踪并应用source更新的时候,都需要在origin/master分支上做一些操作,当然,如果你想将source的更新应用到其它分支上,也可以在其它分支上做如下操作。

    1
    2
    3
    4
    5
    $ git fetch upstream //从source仓库拉取所有更新
    $ git merge upstream/master //将更新合并到origin/master上
    $ git add . //merge时可能会冲突,解决完所有冲突,使用add消除MERGIG状态
    $ git commit -m "track source update"
    $ git push origin master //将应用后的更新提交到mine仓库

转载请注明出处:www.huamo.online