gpt4 book ai didi

git - 防止 `git` 使用给定的提交消息推送提交

转载 作者:太空狗 更新时间:2023-10-29 13:00:19 26 4
gpt4 key购买 nike

如何防止 git 在提交消息中推送包含给定字符串的提交,例如“不要推”?

上下文/用例:

我的典型工作流程是:我 hack hack,将工作分成微提交,一旦一切正常,我就会重写历史记录,更改提交顺序以合理地将它们分组,然后再压缩成更大的有意义的部分。工作准备就绪后,就可以推送了!

现在我想要 git 来防止我不小心 push 仍在进行中的存储库提交。我考虑将“DO NOT PUSH”保留为提交消息的一部分。如何让 git 在 git push 之后达到这样的提交时自动阻止我推送?

(关于预接收 Hook 解决方案:让我们将 github 视为示例服务,AFAIK does not allow pre-recevie hooks,“企业”版除外)

最佳答案

您可以使用 pre-push Hook ,但这仍然是一个可以绕过的本地 Hook 。
看这个pre-push example which does look at each commit message

# Check for foo commit
commit=`git rev-list -n 1 --grep '^foo' "$range"`
if [ -n "$commit" ]
then
echo "ERROR: git pre-push hook found commit message starting with 'foo' in $local_ref"

但最好的方法仍然是 pre-receive hook虽然在服务器端。这样一来,该政策将对所有 贡献者实现。这并不总是可行的(当您无法直接访问 GitHub、BitBucket 或 GitLab.com 等远程服务器时)

关于git - 防止 `git` 使用给定的提交消息推送提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42049870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com