2016-07-03 14 views
0

実際に作成される前にブランチの作成を拒否するgithookがあるかどうか知りませんか?githookが新しく作成したブランチ名を検証する

私はコミット時にブランチ名を検証するのに現在commit-msgを使用していますが、私たちのポリシー(正規表現)と一致しないブランチの名前を変更しないようにする方法を探しています。

答えて

1

フェッチとプッシュの間にブランチ名が転送され、refspecを経由してブランチ名が転送され、refspecが多少制限されます。

ここでです。gitコマンドgit check-ref-formatです。そのdocumentationは、Gitが許すものについて記述しています。 (支店名は単にrefs/heads/で始まる任意の参照です。)

+0

ええ、私はすべてのブランチ名を常に制御できないので大丈夫でしたが、 'git checkout、またはgit branch'をチェックできれば結果は十分に良いと思いました。 –

0

コミットまたはブランチ作成のポリシーを設定することに言及しているようです。 例えば場所 にいくつかのテンプレートを置くのに役立ちますのgit configコマンドがあります:

$ gitの設定--global commit.template〜/ .template.txt $ gitのコミット

件名行

これがなかった場合:[Xチケット]

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

申し訳

何が起こったのか

助けません。ありがとう。

1

それが実際に作成される前支店名を拒否するために、ブランチの作成にフックしますgithookがあるかどう誰でも知っていますか?

あなたが何かを任せることができる唯一の場所は、自分のリポジトリです。受信前の終了では、

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

となり、誰もあなたのレポジトリに不正な名字をプッシュすることはできません。エイリアス/オンライナー領域でgitに渡す前に名前をチェックするコマンドがダウンしています。

もちろん、yourtesthereコマンドを配布することもできます。希望する人は、自分のリポジトリ内のブランチ名をテストするのに使うことができますが、あなたのリポジトリはあなたのものと同じようにリポジトリを使用します。

関連する問題