Subversionの設定方法で気に入っている点の1つは、複数のプロジェクトを持つ単一のメインリポジトリを持つことができることです。プロジェクトに取り組みたいときは、そのプロジェクトだけをチェックアウトできます。このような
\main
\ProductA
\ProductB
\Shared
その後
svn checkout http://.../main/ProductA
gitの新規ユーザーとして、特定のワークフローに取り組む前に、現場でのベストプラクティスを少し探りたいと思います。これまで読んだことから、gitはすべてをプロジェクトツリーのルートにある単一の.gitフォルダーに格納します。だから私は2つのことの1つをすることができました。
- 製品ごとに個別のプロジェクトを設定します。
- 単一の大規模なプロジェクトを設定し、製品をサブフォルダーに保存します。
製品間に依存関係があるため、単一の大規模なプロジェクトが適切であると思われます。すべての開発者がコードを共有できるサーバーを使用します。これはSSHとHTTPですでに機能しており、その部分が大好きです。ただし、SVNのリポジトリのサイズはすでに数GBであるため、各マシンのリポジトリ全体をドラッグすることは、特に過剰なネットワーク帯域幅に対して課金されるため、悪い考えのように思えます。
Linuxカーネルプロジェクトリポジトリも同様に大きいと思います。そのため、Gitでこれを処理する適切な方法が必要ですが、まだわかりません。
非常に大規模なマルチプロジェクトリポジトリを操作するためのガイドラインまたはベストプラクティスはありますか?