githook来验证新创建的分支名称

时间:2016-07-03 00:38:51

标签: git githooks

有没有人知道是否有一个githook会挂钩创建一个分支,以便在它实际创建之前拒绝该分支名称?

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

  

有没有人知道是否有一个githook会挂钩创建一个分支,以便在它实际创建之前拒绝该分支名称?

唯一可以强制执行任何操作的地方就是您自己的存储库。在您的预收货退出中,

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

并且没有人可以将错误的refname推送到您的存储库。在将名称传递给git之前检查名称的命令在别名/ oneliner区域中。

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

答案 2 :(得分:0)

好像你指的是提交提交或分支创建的策略。 有一个git config命令可以帮助我们设置一些模板 例如:

$ git config --global commit.template~ / .template.txt $ git commit

主题行

发生了什么

[ticket:X]

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

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