最近在做“Python练习册,每天一个小程序”,fork了项目并贡献自己写的代码,项目还有其他人在贡献代码,每天都会更新,这就涉及到了自己fork的项目与原项目的同步更新问题,下面就是我最常用的方法。
首先查看远程仓库信息:
$ git remote -v
origin https://github.com/renzongxian/python.git (fetch)
origin https://github.com/renzongxian/python.git (push)
显示只有**origin**仓库,这个仓库就是我们自己fork得到的项目,为了与原项目同步,我们还需要将原项目加入到远程仓库中,一般将原项目命名为**upstream**,后面的链接就是原项目的.git地址
$ git remote add upstream https://github.com/Show-Me-the-Code/python.git
再次查看远程仓库信息,发现**upstream**仓库添加成功
$ git remote -v
origin https://github.com/renzongxian/python.git (fetch)
origin https://github.com/renzongxian/python.git (push)
upstream https://github.com/Show-Me-the-Code/python (fetch)
upstream https://github.com/Show-Me-the-Code/python (push)
当原项目有更新后,使用命令拉取原项目的更新。
1. 首先,检查是否在正确的本地分支上:
$ git checkout master
2. 然后,拉取远程更新并与本地仓库合并:
$ git pull --rebase upstream master
3. 最后,将更新推送到远程的fork项目:
$ git push origin master
这样就完成了fork项目的同步。