Мне нужно что-то похожее на подмодули, но которые существуют вне основного хранилища в качестве зависимости.
Вот проблема:
Я пытаюсь использовать 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, которое может позволить такое поведение?