Ответ 1
Я бы рекомендовал создать ветвь специально для любых изменений шаблона, которые вы хотите сделать. Но убедитесь, что вы запустили его из одного из более ранних коммитов, поэтому вы не получите изменений, специфичных для проекта, для вашего шаблона. Что-то вроде git checkout -b template_changes EARLY_COMMIT_SHA
.
Затем любые изменения шаблонов, которые вы уже сделали, вы можете выбрать: git cherry-pick TEMPLATE_CHANGE_SHA
.
Любые будущие изменения в шаблоне, который вы хотели бы сделать, можно было бы сделать на ветке шаблона и объединить в другие ветки проекта; но если вы далеко вперед, вы можете переключиться на проект шаблона.
Чтобы переместить изменения вашего шаблона из проекта в репозиторий шаблона git, вы можете сделать git format-patch SHA_FROM_WHERE_TEMPLATE_BEGAN
. Это создаст кучу файлов патчей, которые вам нужно будет скопировать в шаблон repo и запустить git apply 0001-... 0002-...
, чтобы применить исправления, но это не очень весело.
Больше git -fu, чтобы сделать, было бы добавить шаблон repo в репо проекта git remote add template /path/to/template/repo
. Возможно, вам придется играть с параметрами -t
или -m
или командой git remote set-head template template_branch:master
(или что-то еще), если ветвь шаблона существует. Затем вы сможете указать свои изменения в шаблоне репо с помощью git push template template_branch
. Если head_branch не задано, вам может потребоваться git push template template_branch:master
.
Надеюсь, это сработает для вас. И получайте удовольствие!