我需要类似于子模块的东西,但它们作为依赖项存在于主存储库之外。
这是问题所在:
我正在尝试使用 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>
在这种情况下,将 eagle.git 存储库添加为每个项目的 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 中允许这种行为的任何东西吗?