Git fork 了开源项目后,如何持续跟进项目的开发

tiseheaini · 2016年01月03日 · 最后由 fsword 回复于 2016年01月04日 · 8300 次阅读

fork 了开源项目以后,开源项目会更新新的代码,自己也会更新一些代码。有些代码可能也会用的到。

比如一个 bbs 类网站,开源版本会不停的修改问题,添加新功能。fork 后的代码也会提交新的代码。

面对这样情况的时候大家是如何做的,希望大家分享一下自己的经验。

fork 只有你可以认为就是你开了一个新的分支。可以把一些想要的 commit 合并到你的 fork 分支

我暂时是这么做的:

# A_REPOSITORY_URL为你fork的开源项目
git remote add upstream A_REPOSITORY_URL

# pull upstream的相应分支(比如master) 
git pull upstream master

# 最后push回github上自己的repo 
git push origin master

似乎能满足 LZ 的需求

#2 楼 @night_7th @tiseheaini

二楼的做法是正确滴 但是第二步我建议使用 fetch . 然后 merge 自己想要的 不喜欢 pull 的自动 merge

$ git clone https://github.com/youname/ruby-china.git
$ git remote add ruby-china https://github.com/ruby-china/ruby-china.git
$ git remote
origin # 你的
ruby-china # 官方的
$ git fetch ruby-china
$ git checkout master
$ git rebase ruby-china/master -i

#1 楼 @hging #2 楼 @night_7th #3 楼 @so_zengtao #4 楼 @huacnlee 谢谢大家的回复,回复的速度有点慢。

一向是用 rebase 的。从上游拉代码用 rebase,完成功能用 merge。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号