ここの魔法使いが助けてくれることを願っています。過去に Mercurial を使用したことがあるので、DVCS の概念に精通しています。ただし、少し異なるワークフローで git を使用するのはこれが初めてです。基本的に、これには階層構造が含まれ、場合によってはミラーが使用されます。私が取得したい階層は次のとおりです
Root Repo
^
|
|_____<MIRROR>______>Primary Repo
^
|
|________<CLONE>____> Developer
|
|________<CLONE>____> Developer
プライマリ リポジトリをセットアップする理由は 2 つあります。
- すべての開発者がルート リポジトリからプル/プッシュする代わりに、ロケーション/帯域幅の使用量を削減
- レビューを通じてコードをサニタイズし、承認されたコードのみがルート リポジトリに送られます
プライマリ リポジトリが一種のキャッシュ リポジトリになり、全員がルート リポジトリにプッシュする他のワークフローを見てきましたが、これは私が望んでいるものではありません。私が見たもう 1 つのワークフローは、全員がレビュアーにメールを送信して変更をプルするように依頼するものですが、チームは SVN に慣れているため、これはまだ実現可能ではありません。
私が今まで試したこと:
- ミラー フラグを使用してプライマリ リポジトリを複製します。
- プライマリ リポジトリからローカルに複製されます。
- 変更をテストしてから、ローカル リポジトリにチェックインします。
- コードをプライマリ リポジトリにプッシュしました。
- ルート担当者からプル (git リモート更新)
- git status にリモートの変更が表示されるようになり、私のものは表示されなくなりました
- Primary Repo の真新しいクローンを試してみました (私の変更は表示されません)
このワークフローが実現可能かどうか疑問に思っていました (そうあるべきだと思います)。おそらく私は何かを台無しにしています。あらゆる提案を歓迎します。