3 つの独立したリポジトリ [ production、developer1、developer2 ]に複製されたプロジェクトがあります。
開発者リポジトリは (ベア + ライブ) のように機能します。
各開発者は自分のリポジトリで作業しており、しばらくして開発者リポジトリをマージし、マージされたバージョンを本番環境にプルすることにしました。この後、すべてのツリー リポジトリが同一になるはずです。
これを行う方法はありますか?
はい、それが主要なワークフローです。
マージするすべてのブランチを単一のマシンに転送し、git merge
コマンドを使用する必要があります。その後、他の開発者のブランチの厳密な後継者である単一のブランチになるため、マージされたバージョンに早送りできます。
やりたいことは、開発者のリポジトリごとにリモートを設定することです。ネットワーク経由でそれらにアクセスできない場合は、その.git
フォルダーのコピーを要求し、それがあるハード ドライブ上の場所へのリモートを作成します。開発者と同じ数のリモートを用意する必要があります。あなたのレポでは、git fetch
各レポ。「johnsmith」などの名前で各リモートに名前を付けた場合、リポジトリから各マスター ブランチを確認できるようになります。すべてのリモート追跡ブランチを一覧表示するコマンドを発行するとjohnsmith/master
、 、 などのようになります。janedoe/master
git branch -r
これで、次のようなコマンドでそれらを 1 つずつマージできます
git merge orange/johnsmith