CENTRALベアリポジトリがあり、3つの開発者リポジトリが通常の方法でプルおよびプッシュしています。
また、CENTRALのベアリポジトリからプルする他の2つのリポジトリがあります。1つはライブサーバー、もう1つはテスト/ステージサーバーで、それぞれがそれぞれのブランチからプルします。
シナリオは次のとおりですpost-update
。CENTRALリポジトリにフックスクリプトがあり、自動的にテストリポジトリとライブリポジトリにアクセスし、それぞれにプルコマンドを実行します。これにより、テストサーバーとライブサーバーの両方が更新されます。これはすべてうまくいきます。
問題はこれです:緊急時にサーバー上で(ftpなどを使用して)ファイルが直接更新される場合があり、マージ/上書きの競合が発生するため、CENTRAL更新後スクリプトが失敗します。このシナリオを回避する方法はなく、それは避けられません。
私が起こしたいのはこれです:私はライブサイトとテストサイトからのプルを常にプル/上書き/マージして欲しいです。常に。これらのリポジトリは開発用ではないため、プルオンリーになります。
私のすべての調査では、ローカルファイルの上書きを常に強制的に実行させる適切な解決策を見つけることができません。これはまったく可能ですか?もしそうなら、それは素晴らしい開発シナリオを作るでしょう。