メッセージが適切にフォーマットされていない場合、コミットが発生しないようにする必要があります。
pre-receive フックを使用してmasterブランチで実行できることはわかっています。
問題は、マスターブランチではなく、トピックブランチでそれをしたくないということです。
git symbolic-refを使用してそれを行うことを考えました。
masterからのdevというトピック ブランチがあるとします。トピック ブランチの git コマンド ラインから「 git symbolic-ref HEAD 」を実行すると、「 refs/heads/dev」が表示されます。
コミットがどのブランチから来ているかを検出するために、 pre-receive フックで同じことをすることを考えていました。
このコードをフックに入れました:
#! /usr/bin/perl
my $branch = `git symbolic-ref HEAD`;
print "Branch: $branch \n";
しかし、コミットしてトピック ブランチ (例: dev ) からプッシュすると、次のようなメッセージが表示されます。
Branch: refs/heads/master
...コミットが開発ブランチからのものであっても。
私は何を間違っていますか?これは私の目標を達成するための実行可能な方法ですか?