如何设置 git 验证钩子来检查推送到 master 的操作是否只包含线性历史记录?
我正在尝试根据以下设置我的 git 提交历史记录 https://hackernoon.com/how-the-creators-of-git-do-branches-e6fcc57270fb
我想强制进入master
分支的任何新提交都属于以下之一:
- 简单的单独提交,或者
- 基于 master 的合并提交
* d4ebb82 - 简单提交(19 秒前) * ec98801 – 将分支“cleanup”合并到“master”(12 分钟前) |\ | * d8662fa - 代码清理(15 分钟前) | * 43451c5 - 工作 | * 9adb77d - foo(18 分钟前) |/ * a2b0c82 – 一些工作
但不是
- 不基于 master 的合并提交(例如,看起来像意大利面条)
* 8453901 - 将远程跟踪分支“template/master”合并到 dev(6 天前) |\ | * f2b61c1 - 将分支“feature/spring-vars”合并到“master”(6 天前) | |\ | | * db90956 - 添加:环境变量(6 天前) | |/ * | 0e06dcd - 将远程跟踪分支“template-stuff/master”合并到 dev(6 天前) |\ \ | |/ | * 38747d9 - 将分支“new-certs”合并到“master”(6 天前) | |\ | | * b36ca67 - 添加(6 天前) | |/ * | ...
我正在寻找剧本,我预计它会update
是pre-receive