同步github上fork的分支
条评论github 上fork 大牛的持续更新的项目,一段时间后,想把大牛提交的部分,更新到自己fork出来的项目上,为此google一把,了然于心,在此记录下~
实现这个需求,发现有2种玩法:
- Github 上点点就行
- 使用命令行的方式同步
在Github 页面上点击完成
看图有真相!
使用命令行方式同步
怎么不了解命令行到方式呢~
1.配置源项目的地址
讲fork源的项目地址配置到自己的项目上。
举个栗子
我fork了一个项目:pyeve/eve,我的项目地址就是 fantasykai/eve
项目名称上会显示 forked from pyeve/eve
git clone 自己fork的项目后,添加一个远程仓库,即 源项目地址
git remote add upstream https://github.com/pyeve/eve.git
执行命令行后,查看下是否配置进来
git remote -v
origin git@github.com:fantasykai/eve.git (fetch)
origin git@github.com:fantasykai/eve.git (push)
upstream https://github.com/pyeve/eve.git (fetch)
upstream https://github.com/pyeve/eve.git (push)
2.获取源项目更新内容。
使用
fetch
命令更新,fetch 后会更新到本地分支upstream/master
git fetch upstream
3.合并本地分支。
切换到
master
分支,合并upstream/master
分支
git merge upstream/master
4.提交推送
解决本地冲突的代码,然后推送之
git push origin master
这样以来,之后想同步源项目的commits,就执行2,3,4 步骤