git flow使用经验小记

我在半年前开始在公司内推广使用git flow,控制版本发布流程,到目前为止效果令人满意。 但是实际使用过程中有一些小小的意外流程,完全照搬git flow的模型不太容易处理好。好在git本身就很灵活,碰到问题基本上都有办法绕过去。下面是我总结的一些特例情况下的处理办法。 测试/共享单独一个feature 有时候我们需要将一个feature独立测试,或者share给多人一块开发,那么可以将这个feature推到远程git库上,这可以利用git flow的publish功能搞定: git flow feature publish my_cool_feature 这会将 feature/my_cool_feature 分支push到远程git库,多人开发或者单独测试毫无压力。 feature在development分支测试完成,准备release的时候有另外一个未经测试的feature合并进来 已经完成测试的development被未经测试的提交污染了,这时候可以先本地回滚development分支,然后再进行git flow的release流程,例如: git checkout development git reset –hard 5cbadfe885d1eb514b3f07b3f269ca1a7f261e21 #假设测试通过的git rev是这个 git flow release start v1.0.1 git flow release finish v1.0.1 development上有个feature需要测试比较长时间,影响了一些耗时较短的feature发布 development分支上有个feature测试时间比较长一直释放不了,怎么办?—— 果断采用hotfix功能 git br -m feature/another_cool_feature hotfix/another_cool_feature 把耗时短的feature直接转换为hotfix,然后采用git flow的hotfix流程可以直接合并到master分支发布。