Я, честно говоря, до сих пор не понимаю, что вы имеете в виду под "использовать reflog, чтобы перенести эти изменения со мной в текущее локальное состояние проекта". Reflog просто показывает прошлые позиции данного реф. Вы все еще должны объединить / rebase / cherry-pick, чтобы фактически «принести» эти изменения в другое место. Вообще, слияние - самый элегантный способ.
Например:
git clone template local-project
cd local-project
git remote rename origin template-origin
# make changes and commit them
git add ...; git commit
# suppose changes have been made in the template (work as normal there)
# back in local-project, merge the template's master branch:
git pull template master
Ничего сложного. Просто объедините ветку с нужными вам изменениями. Это, вероятно, очевидно, но убедитесь, что вы никогда не потянете другой путь - из локального проекта в шаблон.
И, конечно, связывайтесь с пультами в зависимости от ситуации. Возможно, вы захотите создать новый «источник» для local-project
, указывающий на его центральное (например, на github-hosted) хранилище, и то же самое для template
. Вы также можете указать удаленный шаблон в local-project
на центральный репозиторий шаблонов, а не на свой локальный клон, если хотите.