3

私は最近、プロジェクト チームのために git フックを作成しています。開発者が標準のコミット メッセージ パターンに従わずにローカルでさまざまなコミットを行っているかどうかを知りたいです。次に、それらのコミットをプッシュします。コミットがパターンに従っていないためにプッシュが失敗することはありますか?

望ましい結果は、彼らが望むようにローカルでコミットできるようになり、主要な企業ブランチにプッシュバックするときに構造的な方法に従うことを余儀なくされることです.

考え?これはベストプラクティスですか?

4

1 に答える 1

6

トリックは次のとおりです。gitフックは公開されていません(プッシュ/プル)

したがって、プロジェクト メンバーが、サーバー側のフック (pre-receiveまたはupdate) がコミット メッセージ パターンをチェックする裸のリポジトリにプッシュすると (これが実行できるかどうかはわかりません)、そのプッシュは失敗します。
ただし、コミットは開発者のローカル リポジトリにあり、まだ修正する必要があります (git commit --amend他のコミットがまだ行われていない場合)。

次のことをお勧めします。

  • 適切なフックを使用してテンプレートGit リポジトリを作成する
  • 開発者が適切な共通テンプレートを参照する --template オプションを使用してリポジトリを初期化するようにしてください。のテンプレート ディレクトリのセクション
    参照してください。git init

そうすれば、サーバー側よりも早く失敗します (n 個の間違ったコミットがプッシュされる可能性があり、失敗します)。

他の作業では、ここではクライアント側のフックがより適切です。

于 2010-07-29T14:17:39.703 に答える