我们在进行Github协同开发的时候,往往会去fork一个仓库到自己的Github中,过一段时间以后,原仓库可能会有各种提交以及修改,很可惜,Github本身并没有自动进行同步的机制,这个需要我们手动去执行,现在我来演示一下如何进行自己的仓库和原仓库进行Gith同步的操作。重点在于:除了origin以外,增加一个upstream,来跟踪原仓库的更新。
先将你fork
到自己的Github的远程仓库克隆到本地
1 | $ git clone https://github.com/zmzhouXJTU/Problem-sets |
查看远程仓库的信息
1 | $ git remote -v |
配置原远程仓库(即你所fork
的)的路径
1 | $ git remote add upstream https://github.com/ACLoong/Problem-sets |
再次查看远程仓库信息确定是否配置成功
1 | $ git remote -v |
抓取原仓库的更新文件,该文件会被存储在一个本地分支upstream/master
上
1 | $ git fetch upstream |
切换到本地主分支(如果当前不在的话)
1 | $ git checkout master |
将原仓库的更新文件(即存储在本地的upstream/master
分支上的文件)与本地仓库的当前分支合并
1 | $ git merge upstream/master |
Note: 此时,你的本地仓库已经和原来仓库完全同步了。但是注意,此时只是你电脑上的本地仓库和原作者的远程github仓库
同步了,你fork
到自己的github远程仓库还没有同步。要想实现本地和自己的Github远程仓库的同步,只需要如下操作即可:
将其更新到自己的Github远程仓库,可以利用命令git push origin master
来实现
1 | $ git push origin master |
好了,至此任务就完成了。不知你是否看明白了呢?有任何问题,欢迎在此博客下方评论留言。