起因需求:
- 项目基于一个开源项目,此开源项目位于github或gitee等版本管理仓库。希望可以及时跟进项目的更新。
- 基于此项目的开发分两部分,第一部分是修改开源项目的部分源码,第二部分是增加在建项目专属的模块。
- 源项目的更新可以及时合并过来。
- 对源项目的修补可以提交pull request。
- 基于手头实际项目进行的定制修改不用提交pull request。
思路:
- fork源项目,clone到本地,创建一个dev分支
- 在dev上进行定制开发
- 基于手头实际项目进行的定制修改不用提交pull request。
设置:
1.fork开源项目到自己的仓库,比如从
github.com/abc/cherry => github.com/dhl/cherry
然后clone
git clone https://github.com/dhl/cherry
2.接下来cd到自己的仓库,开始如下操作
cd cherry
git checkout -b dev #默认是master,master里永远跟开源的保持一致
git pull
git checkout master #切回master,做更新
git remote add upstream https://github.com/abc/cherry.git #设置upstream开源仓库.
git fetch upstream master #拉取开源的仓库upstream的master到本地
git merge upstream/master #合并到本地master
git checkout dev #切换到dev
git rebase master #把刚刚拉取的更新merge到dev分支
合并开源项目的流程:
git checkout master #切回master,做更新
git fetch upstream master #拉取开源的仓库upstream的master到本地
git merge upstream/master #合并到本地master
git checkout dev #切换到dev
git rebase master #把刚刚拉取的更新merge到dev分支
[
](https://blog.csdn.net/qq_30407229/article/details/109209083)