githook 验证新创建的分支名称

githook to validate newly created branch names

有谁知道是否有一个 githook 会挂钩到分支的创建中,以便在实际创建之前拒绝分支名称?

我目前使用 commit-msg 在提交时验证分支名称,但我正在寻找一种方法来避免在分支与我们的策略(正则表达式)不匹配时不得不重命名它。

您似乎指的是为提交或分支创建设置策略。 有一个 git 配置命令可以帮助放置一些模板 例如:

$ git 配置 --global commit.template ~/.template.txt $ git 提交

主题行

发生了什么

[票:X]

# Please enter the commit message .......
#
# modified:   lib/test.rb
#
~
~
".git/COMMIT_EDITMSG"

抱歉,如果这没有帮助。谢谢

没有(并且在某种程度上无法控制:分支名称在获取和推送期间通过 refspecs 在网络上传输,refspecs 有点受限)。

一个git命令,git check-ref-format;它的 documentation 描述了 Git 允许的内容。 (分支名称只是以 refs/heads/ 开头的任何引用。)

Does anyone know if there's a githook that will hook into the creation of a branch in order to reject the branch name before it's actually created?

您唯一可以授权任何内容的地方就是您自己的存储库。在您的预接收出口中,

while read old new ref; do 
    yourtesthere "$ref" || { rc=1; echo "$ref failed yourtesthere's validation"; }
done
exit $rc

并且没有人可以将错误的引用名推送到您的存储库。在将名称传递给 git 之前检查名称的命令在 alias / oneliner 领域已关闭。

当然,您可以分发 yourtesthere 命令,任何人都可以使用它来测试自己存储库中的分支名称,但是就像您的存储库是您的一样,他们的存储库也是他们的。