プルリクエストの前にgit処理を停止して、ユーザー入力を受け取ることはできません。つまり、それは可能ですが、そのためには、gitにいくつかの変更を加えて、ソースからビルドする必要があります。私はこの道を進んでいません。
gitフック内で条件ステートメントを使用するための気の利いた小さなトリックがあります。gitフック内でRuby(または他の言語)を使用して、条件付きにすることができます。pre-commit
これは、実際の処理が行われる前に呼び出されるフックまたはフックで最適に機能します。の場合、git pull
ラッチできる唯一のフックはpost-merge
フックであり、それも処理全体が完了した後にのみ呼び出されます。したがって、ブランチがマージされた後に別のブランチをマージするかどうかをユーザーに実際に尋ねる意味はありません。そうです:)ただし、メッセージを表示することはできます。
これには、次のようなものを使用します。
#!/usr/bin/env ruby
branch=$(git rev-parse --symbolic --abbrev-ref $1)
if branch != $GIT_DIR/ORIG_HEAD
puts "You merged a different branch dim wit"
end
今、私がやろうとしているのは、マージされたブランチが元のブランチ名と同じであるかどうかを比較し、そうでない場合はユーザーにメッセージを表示することです。これはremote
、gitマージの概要に表示されます。
繰り返しになりますが、これが機能するかどうかはわかりませんgit rev-parse --symbolic --abbrev-ref $1
。ブランチ名が表示されるかどうかはわかりません。
これもまた、単なる提案であり、あなたの質問に対する解決策ではありません:(