GIT 定制分支的一个开发策略
问题 如何fork一个项目代码,并跟踪建立自己的分支?
这个问题实际上比较常见,比如我在使用一个开源软件,在使用中有一些自己的定制开发,需要动些代码以满足我的需求,当软件进行升级以后,如何升级自己在使用中的系统呢?一个笨办法是将源代码下载下来后,在里面重新进行适用自己的修改,显然,这是一个费时费力的过程。本文试图探讨一个合适的方案解决这个问题。
以 blackfriday 这个项目为例,进行下面的工作。
1、 首先,fork一份到自己的空间,https://github.com/hebl/blackfriday。 2、在本地计算机上clone一个本地代码树。
git clone git@github.com:hebl/blackfriday.git
3、分支策略,master
分支是hebl/blackfriday.git
的主分支,origin
分支跟踪原始的russross/blackfriday
分支,再建立一个自己的功能分支 custom
。
建立本地功能分支:
git checkout -b custom
切回主分支,并建立对原始分支的跟踪:
git checkout master
git remote add source git@github.com:russross/blackfriday.git
拉回原始分支的最新版本,并且合并原始的主分支到本地主分支:
git fetch source
git merge source/master
上述步骤可以经常用来更新主分支到最新版本。
切换到功能分支,进行开发,开发结束后,可以提交到版本库,需要与主版本库合并的时候,只需要在master分支上fetch source
, merge source/master
,和在功能分支上merge master
即可。