私たちのサーバーには、いくつかのコンポーネントをサブツリーとして共有するさまざまなプロジェクト用のさまざまな git リポジトリがあります。ソースベース全体で積極的な開発を行っており、人々が可能な限り最も簡単で便利なワークフローを持っていることが重要であるため、それらがサブツリーのままであることは私にとって非常に重要です. それはまた、理想的にgit pull
はGUIツールを介したシンプルな方法が機能することを意味します. サブツリーは非常に便利です。なぜなら、誰もがレポを複製して必要なものをすべて表示し、最終的にチームの git サーバーにプッシュできるようにすることで、下層の複雑さを隠しているからです。
(その後、git サーバーは、最終的に TFS になるコンポーネントの git リポジトリにプッシュすることになっています)
問題は、コンポーネントをすべて自動的に最新の状態に保つにはどうすればよいかということです。私のアイデアは、git subtree pull
プッシュを受け入れる前に a を実行する (そして、クライアントが古くなっていると不平を言う可能性がある) フックとgit subtree push
、プッシュが到着した直後に a を実行する 2 番目のフックをプロジェクト リポジトリに実装することでした。
もっと良いアイデアはありますか?すべての入力を歓迎します。