プロジェクトディレクトリにgitリポジトリのツリーがあるとします。
Projects/
+A/
|+.git/
+B/
|+.git
Projects.git
プロジェクトの内容を追跡せず、その存在とステータスのみを追跡する git リポジトリをセットアップしたいと思います。このリポジトリを複製する人は、複製されていないリポジトリなどのスケルトンのみを持ち、A
それらB
が同期しているかどうかに関係なく個別にアクティブ化する必要があります。一般的なワークフローは次のようになります。
- 初回セットアップ:
git clone server:Projects.git
- プロジェクトをアクティブ化します
A
。これにより、プロジェクトのクローンも作成されます - これで、すべての について、との両方の情報を更新する必要があるか
git-push/pull
どうかに関係なく。非アクティブでローカルに空であるため、関連するものはすべて無視する必要がありますProjects/
Projects/A
A.git
Projects.git
A
B
- プロジェクトをアクティブ化
B
し、それも複製します - これで、 any
git-push/pull
inもとProjects
の両方でそうする必要がありますが、プッシュ/プル インは影響を受けません。A
B
A
B
- プロジェクトを非アクティブ化します
A
。これにより、(検証後にA.git
が不要であることが確認された後git-push
) ローカル ディレクトリが空になり、A
影響はありません。Project.git
これをどのように治療するのが最善ですか?私の現在のアプローチはフックマジックですが、サブモジュールでこれを達成できるかどうか、または他のソリューションを使用する必要があるかどうかを確認するには、 git サブモジュールに十分に精通していません。