首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >验证GitHub“压缩并合并”提交消息的格式

验证GitHub“压缩并合并”提交消息的格式
EN

Stack Overflow用户
提问于 2017-02-03 04:38:58
回答 1查看 1.7K关注 0票数 9

我想设置一个使用conventional-changelog standard version来生成其changelog的GitHub项目。我们使用squash and merge工作流程将PR合并到我们的主要开发分支中。

有没有办法强制压缩提交的提交消息遵循特定的格式?

理想情况下,这将与GitHub UI很好地配合使用,例如显示为失败检查。我意识到我可以简单地编写一个浏览器扩展来加强这一点,但是每个在项目中工作的人都需要安装这个扩展,这对于一个开源项目来说是一个太高的进入门槛。

EN

回答 1

Stack Overflow用户

发布于 2017-12-08 09:52:20

目前还不清楚你是打算把它放在GitHub公共版还是企业版上。我还没有尝试在GitHub公共上实现这一点。

在Enterprise上,这个过程是为您感兴趣保护的特定repo创建一个预接收钩子。请记住,除非您愿意上传一个新环境,否则您的预接收钩子可以使用的工具将受到限制。

有关详细信息,请访问:https://help.github.com/enterprise/2.11/admin/guides/developer-workflow/creating-a-pre-receive-hook-script/

从本质上讲,流程看起来就像这样:

代码语言:javascript
运行
复制
#!/usr/bin/env bash
#
DEFAULT_BRANCH=$(git symbolic-ref HEAD)

while read oldrev newrev refname; do
  # We only care about these changes to master
  if [[ "${refname}" != "${DEFAULT_BRANCH:=refs/heads/master}" ]]; then
    exit 0
  fi

  # branch or tag got deleted
  if [ "${newrev}" = "${zero_commit}" ]; then
    continue
  fi

  # branch or tag is being created
  if [ "${oldrev}" = "${zero_commit}" ]; then
    continue
  fi

  for COMMIT_HASH in `git rev-list ${oldrev}..${newrev}`;
  do
    # Add your COMMIT_HASH scrubbing process here
    # On failure exit 1
  done
done
exit 0
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42011894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档