Thanks to:
https://my.oschina.net/uniquejava/blog/481625
https://blog.csdn.net/liuchaoxuan/article/details/80656145
在
github
上有些项目不错并fork了下来,但是原作者又更新了,如何让fork过后的项目继续同步呢?
- 将
fork
后的项目clone
到本地(这个就不用多说了吧) - 查看
upstream
upstream
是什么呢?可以看下面这张图,具体可参照文首的链接.
a. 如果是upstream repo
,你只可以拉取最新代码(即 git fetch
),从而保证你本地的仓库与源仓库同步
b. 如果是 origin repo
,就是你自己的repo
(自己创建的,或者fork
的项目)你可以做 任何推拉操作(pull and push
)
c. 你可以通过在github
里使用 pull request
向 upstream repo
原作者贡献代码
$ git remote -v
origin git@github.com:820fans/awesome-network-embedding.git (fetch)
origin git@github.com:820fans/awesome-network-embedding.git (push)
upstream git@github.com:chihming/awesome-network-embedding.git (fetch)
upstream git@github.com:chihming/awesome-network-embedding.git (push)
上述命令显示我已经添加过了.
2. 添加upstream
$ git remote add upstream [Upstream git URL]
- 拉取原作者代码到本地,并与本地代码合并
$ git fetch upstream
拉取原作者代码之后,发现本地代码并没有变.这时候需要运行以下命令合并代码分支.
$ git merge upstream/master
至此,代码拉取完成,你可以在本地add
,commit
,push
到自己的repo
了.