git 提交问题

image.png
对于这个提交大家给个评价。
项目开发在dev分支,发布测试使用test分支,发布正式环境使用master分支

阅读 1.5k
2 个回答

dev->test->master 这个流程是没问题的。

问题是全流程都使用 merge,必然会造成很多无用的 merge ** from ** 这类提交,同时分叉在后续的不断 merge 中越来越多,会比较混乱

建议使用 merge + cherry-pick + rebase 这样的分支管理策略,具体实现方式可以参考我的文章:https://segmentfault.com/a/11...

建议使用 rebase。

rebase 翻译过来就是:改变基础。

即原来你从 a 开启分支,增加了 a1,a2,a3.... 提交,完成需求。

然后主干 master 已经到 b 版本,出现了变化。于是我们 rebase,把 a1 a2 a3 变成 b1 b2 b3,这样就可以通过快进(fast-foward)合并。

这样带来的好处有三点:

  1. 版本变成一条直线,方便阅读维护和理解
  2. 不产生 merge commit,减少版本数量
  3. 版本逻辑非常简单,git 很容易判定哪个代码是新的、要保留,会少报冲突
推荐问题
宣传栏