【Git】GitFlow 合并分支原则

 

目录

1. 问题

2. 原则

3. 工具

3.1 Android Studio 工具合并

3.2 推荐配置

4. 参考


 

1. 问题

最近人多了,拆分业务线,技术和业务相分离;每个人在各自业务线分支上,最后功能做完合并到开发分支;

有时候功能分支上线,有时候不上线,导致好多分支,合并的时候好多冲突,再加上有些小伙伴每次提交都文件格式化,我嚓,一个文件1000多行的冲突,十来个文件的冲突,1w 多行以上合并的时候实在太痛苦了;

有时候合并分支,没必要全局格式化的,而且在合并时机上,也有要求;没必要浪费巨大的精力和时间来解决合并分支导致的问题; 可以在业务和技术管控上优化优先级,来减少不必要的冲突所带来的成本提升;

 

2. 原则

一般意义上GitFlow 如下:

参考模型一

功能分支开发分支:

 

Git 合并分支

Git Hotfixes:

 

建议

  1. 业务需求,技术需求,运营需求,质量需求,一定要区分优先级;
  2. 使用中间件隔离业务和技术,多modlues,多repo,Re-Nw(可读,可执行,不可写)化;
  3. 合并业务/技术,一定要局部到整体,拒绝一股脑执行和实施;
  4. Scrum Master 相关人员一定要需求识别先行,依赖识别先行,然后在排期需求池;

 

细则

  1. 禁止全局格式化,兼容老版本代码库;
  2. 新版本代码库格式化统一性要求,系统环境统一性要求;
  3. 强沟通,弱写码;强平台,弱技术(不建议);
  4. 强执行,弱洁癖;强业务,弱不定(屏蔽不定性需求);
  5. 业务优于规则,规则优于制度(不建议);
  6. 业务是公司的,技术是自己的(不建议);

 

3. 工具

 

3.1 Android Studio 工具合并

下面简单拿Android Studio 工具合并或提交各个项来说明一些细则问题,为了辅助后续更好的执行合并或提交,降低额外人为风险;

人为命名如下:

各个Viewer 子选项(有些翻译地方不准,大致意思到位即可)如下所示:

1. view

  • Side-by-side viewer   // 并排查看
  • Unified viewer       // 整合查看

2. ignore view

  • Do not ignore     // 不忽略(空格、空行)
  • Trim whitespaces    // 忽略文本行前和行尾空格
  • Ignore whitespaces   // 忽略空格(行前,行中,行尾)
  • Ignore whitespaces and empty lines     // 忽略空格(行前,行中,行尾)和空行

3. Highlight view

  • Highlight lines         // 高亮行
  • Highlight words      // 高亮文本
  • Highlight split changes     // 高亮突出拆分
  • Highlight symbols         // 高亮符号(文本,换行,tab,空格...)
  • Do not Highlight           // 不高亮

4. Fragments view

  • Collapse Unchanged Fragments  on/off    // 折叠或不折叠未更改的代码块

5. Synchronize Scrolling view

  • Synchronize Scrolling on/off       // 同步或异步滚动代码块

6. Settings view

  • Show Whitespaces           // 显示空格
  • Show Line Numbers         // 显示行数
  • Show indent Guides         // 显示缩进参考线
  • Soft-Wrap                         // 折行显示
  • Highlighting Level             

                            - Inspections           // 检查高亮

                            - Syntax                  // 语法高亮

                            - None                    // 不高亮

3.2 推荐配置

1. Side-by-side viewer   // 并排查看 - 默认 - 推荐

2. Do not ignore     // 不忽略(空格、空行)  - 默认 - 推荐

2. Trim whitespaces    // 忽略文本行前和行尾空格,适用于格式化代码差异

2. Ignore whitespaces and empty lines     // 忽略空格(行前,行中,行尾)和空行,适用于格式化代码差异 - 不推荐

3. Highlight words      // 高亮文本 - 默认 - 推荐

4. Collapse Unchanged Fragments  on/off    // 折叠或不折叠未更改的代码块 - 默认 - 推荐

5. Synchronize Scrolling on/off       // 同步或异步滚动代码块 - 默认 - 推荐

6. Show Whitespaces           // 显示空格

6. Show Line Numbers         // 显示行数

6. Show indent Guides         // 显示缩进参考线

6. Highlighting Level             

6.                             - Inspections           // 检查高亮 - 默认 - 推荐

 

4. 参考

  1. Git 工作流程;
  2. Understanding the GitHub flow;
  3. GitHub 流程;
  4. A successful Git branching model;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值