統合が失敗したときにプッシュが拒否されるように、Git の上に統合フックを提供したいと考えています。たとえば、開発者が変更をプッシュしたときに、プロジェクトが正常にコンパイルされることを確認したいと考えています。
現在、更新後のフックをセットアップして、コンパイル チェックを行います。ただし、プッシュを拒否したい場合は、変更を元に戻し、開発者に通知します。
git revert --no-edit HEAD
echo "Rejected !"
私の問題は、別の開発者が自分の変更をプッシュしたい場合、最初にプルする必要があるため、自分の作業を上書きしてから、正しくマージするために面倒なリセット/スタッシュ コマンドを発行する必要があることです。
さらに、ブランチのマージ (-m オプションが必要) の場合、元に戻すことはできません。
私の現在の回避策は、サーバーに戻すのではなく、別のブランチで変更をマージすることです (開発者のデフォルトのプル元です)。
git checkout integrated
git merge master
この目標を達成するための最良のアプローチは何ですか?