如何设置 git 验证钩子来检查推送到 master 的操作是否只包含线性历史记录?

如何设置 git 验证钩子来检查推送到 master 的操作是否只包含线性历史记录?

如何设置 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 天前)
| |/
* |
...

我正在寻找剧本,我预计它会updatepre-receive

相关内容