起因需求:

    1. 项目基于一个开源项目,此开源项目位于github或gitee等版本管理仓库。希望可以及时跟进项目的更新。
    2. 基于此项目的开发分两部分,第一部分是修改开源项目的部分源码,第二部分是增加在建项目专属的模块。
    3. 源项目的更新可以及时合并过来。
    4. 对源项目的修补可以提交pull request。
    5. 基于手头实际项目进行的定制修改不用提交pull request。

    思路:

    1. fork源项目,clone到本地,创建一个dev分支
    2. 在dev上进行定制开发
    3. 基于手头实际项目进行的定制修改不用提交pull request。

    设置:

    1. 1.fork开源项目到自己的仓库,比如从
    2. github.com/abc/cherry => github.com/dhl/cherry
    3. 然后clone
    4. git clone https://github.com/dhl/cherry
    5. 2.接下来cd到自己的仓库,开始如下操作
    6. cd cherry
    7. git checkout -b dev #默认是master,master里永远跟开源的保持一致
    8. git pull
    9. git checkout master #切回master,做更新
    10. git remote add upstream https://github.com/abc/cherry.git #设置upstream开源仓库.
    11. git fetch upstream master #拉取开源的仓库upstream的master到本地
    12. git merge upstream/master #合并到本地master
    13. git checkout dev #切换到dev
    14. git rebase master #把刚刚拉取的更新merge到dev分支

    合并开源项目的流程:

    1. git checkout master #切回master,做更新
    2. git fetch upstream master #拉取开源的仓库upstream的master到本地
    3. git merge upstream/master #合并到本地master
    4. git checkout dev #切换到dev
    5. git rebase master #把刚刚拉取的更新merge到dev分支

    [

    ](https://blog.csdn.net/qq_30407229/article/details/109209083)