git的更安全用法

海龙2024-12-11编程

如果你已经学会了git的基础操作,比如:拉分支|拉代码|合并分支|处理冲突等这些操作,那么相信你已经是一个有不错经验的开发者了。

如果你在一个不错的团队中,你的项目git分支通常是有人去管理其规范的,但是若管理不当,依旧可能在开发中是混乱的,可能出现master发布了不该发布的功能这种致命问题。

亦或者,你并没有这种团队,或者你的团队没人特别的去管理其规范,这里将介绍我所采取的方案,以减少冲突,减少事故的发生。

首先,分支的流程规范

TIP

分支的管理规范,不应当是固定的,应该是根据不同团队规模,不同的环境支持,应有不同的规范产生。

一个生产环境、一个测试环境、团队较小

uml diagram

这是一般情况的分支管理情况,小公司大概就是这种,大公司的话团队又会被分割成一个一个小团队,项目也会被分割,所以以上的方式也是可用的。

更多的环境,更大的团队

对于更复杂的情况,就会有更多规范分支出现,这些分支的功能会更特化,提交与审核就变得更复杂更谨慎。
这就需要根据情况进行设计了,但基本上思路和变化都是很少的,无非是多几个步骤,减少冲突,让变化单向流动

git分支 保护规则

无论gitee 还是github 还是gitlab,都支持分支的推送保护规则。
比如:

  • 禁止直接推送:强制要求开发者通过 Pull Request (PR) 来提交代码,而不是直接推送到受保护的分支。
  • 要求拉取请求审批:至少需要一个(或多个)审查员批准 PR 才能合并代码。
  • 状态检查:在合并代码之前,必须通过所有 CI 检查(例如单元测试、代码质量检查等)。
  • 要求签名提交:要求所有合并的提交都必须使用 GPG 或 S/MIME 进行签名。
  • 合并策略
    • 强制使用 squash merge 或 rebase merge,而不允许创建 merge commit。
    • 合并 PR 时自动更新基于目标分支的最新代码。

具体设置方法:
github分支保护文档open in new window
gitee分支保护文档open in new window
gitLab分支保护文档open in new window

最后更新日期 6/24/2025, 10:29:18 AM