2017-09-06 4 views
-1

大規模なコードベースで、100人以上の開発者が同じブランチに頻繁にプッシュ/マージして動作し、時にはプルアップ後に余分なステップを必要とする変更をプッシュアップします。理想的な世界では、コミュニケーションは良い解決策ですが、実際には、それは100%時間を費やさないことをすべて知っています。引っ張ったときに表示されるgit commitにメッセージを添付することはできますか?

私はgitまたはgithub機能を探しています。これは、追加の手順が必要な場合にコミットまたはマージにフラグを立てるか、コミットが取り出されたときに表示されるメッセージを何らかの形で含めることができます。

コミットメッセージは素晴らしいですが、何か処理が必要かどうかを確認するたびに、すべての開発者に手作業を要求することは現実的ではありません。git log

たとえば、package.jsonを変更したコミットに「後でnpm installが必要です」というメッセージを追加して、メッセージが表示された場合はそれが素晴らしいでしょう。

+1

ヒストリを調べるには 'post-merge'と' post-checkout'フックを使うことができます - スケールでは、インストールされた依存関係を*毎回更新する習慣を開発者に与えたい大規模な改ざんの変更が発生した場合、共有メーリングリストに送信する)。 –

答えて

4

短い答えは「いいえ」です。長い答えは「はい」から始まりますが、「並べ替え、ひどく終わるだけです」と続きます。

フックで何かを試してみることもできますが、それらのフックはそれぞれ開発者。これがどのように機能するかは依然として明確ではありません。特殊な処理を必要とするコミットは、決して明示的に引き出されたり、一部の開発者によってフェッチされることはないことに留意してください。だから、 "新しくフェッチされた"すべてのコミットを特定し、それらのどれか/すべてに対応するメッセージを表示するような何かをしなければならないでしょう。それ本当にgit logを実行するために、開発者が必要とすることは非現実的であることだけの問題であれば

同様に、あなたはfetch(またはpull)を行なったし、その後、logを示したエイリアスを使用してすべての人に標準化できます。しかし、実際の問題は、開発者がの新しいコミットが発生するたびに、のログメッセージを読むことが期待されるべきかどうかです。

注釈付きタグや注釈などの情報をコミットに付加する方法は他にもあります。そのため、既存のコミットログデータから目立つようになります。しかし、今は "特別な"コミットを作成する際に余分なステップが必要になり、すべての開発者にメッセージを読む方法を見つけなければなりません。毎回fetchの後に。

よりよい解決策は、コミットの一部としてスクリプト形式で「余分なステップ」を提供することです。これを行うための標準的な方法は、ビルドツールを使用することです。私はあなたのビルドツールを知らないので、私は詳細を提供することはできません。いずれにしても、あなたが記述したステップのタイプ(npm install)は、すべてのビルドの一部として実行する必要があります。

+1

はい、これはビルド/デプロイの問題であり、VCの問題ではありません。 – NWard

関連する問題