Мне интересно, будет ли это работать ...
Скажем, у меня есть шаблон проекта примерно такой:
.
+ resources/
+ images/
1.png
2.png
Я хочу использовать этот проект в качестве шаблона для других проектов, чтобы они были по существу "клонированы" из шаблона, но содержались как отдельный репозиторий.
Тем не менее, я все же хотел бы иметь возможность извлекать обновления из шаблона всякий раз, когда они происходят (но не хочу их подталкивать).
Подмодули или объединение поддеревьев, похоже, не подходят здесь, потому что они не клонируются в подкаталог; он фактически "сопоставлен" с корневым каталогом или новым проектом.
Один, который я думаю, что мог бы работать, был бы что-то вроде этого:
#setup project
mkdir proj1
cd proj1
git init.
touch .gitignore
git add .gitignore
git commit -m "Initial Commit"
#setup main repo
git remote add origin git@server:proj1.git
git push origin master
# load template repo as separate remote
git remote add -f template git@server:template.git
# import into current master
# here I guess I have the choice of either:
git merge template/master
# OR
git rebase template/master
Затем в дальнейшем шаблон проекта обновляется:
.
+ resources/
+ images/
1.png
2.png
3.png <-added file
I должен быть в состоянии сделать git pull template master
, чтобы извлечь изменения из шаблона и повторить последние шаги слияния / перебазирования для интеграции в проект.
Это правильный подход или есть лучший способ сделать это?
Собираюсь ли я столкнуться с некоторыми проблемами в этом треке?
Спасибо