サブモジュールに似たものが必要ですが、依存関係としてメインリポジトリの外部に存在します。
ここに問題があります:
Gitを(本当に厄介な方法で)CADツール(Cadsoft Eagle)の設計ファイルを管理しようとしていますが、gitサブモジュールを使用して各プロジェクトを管理する方法があるかどうかを判断するのに苦労しています。 CADツールの共有ライブラリへの依存。
私は次のようなフォルダ構造を使用しています:
~/eagle/ <-- Main library used by multiple projects
.git/
<library files>
~/projects/ <-- Projects folder
Proj0/
.git/
<design files>
Proj1/
.git/
<design files>
この場合、各プロジェクトのgitサブモジュールとしてeagle.gitリポジトリを追加することは意味がありません。
ただし、「eagle.git」リポジトリの現在の状態をスナップショットして、ライブラリが将来更新された場合にロールバックして、次の場合に使用されていたライブラリファイルの特定のリビジョンにアクセスできるようにする方法が必要です。 Proj[x]がコミットされました。
理想的には、次のようなものが欲しいです。
~/eagle/ <-- Main library used by multiple projects
.git/
<library files>
~/projects/ <-- Projects folder
Proj0/
.git/
<design files>
**eagle** <-- something that acts like a submodule
but which actually points to ~/eagle/
Proj1/
.git/
<design files>
**eagle** <-- something that acts like a submodule
but which actually points to ~/eagle/
次のことができるようになりたい:
cd ~/projects/Proj0
git submodule update
〜/eagle/ディレクトリをProj0にチェックインされたリビジョンに自動的にロールバックさせます。
この種の動作を可能にする可能性のあるGitの何かを知っている人はいますか?