Могу ли я использовать подмодули Git для хранения копии одной ветви внутри каталога другой ветви в том же хранилище? - PullRequest
0 голосов
/ 04 июля 2018

Я пишу учебник по веб-разработке. В ней ученик начинает с ветки git, называемой «chapter-1-start», и когда он заканчивает шаги в этой главе учебника, его код должен выглядеть практически так же, как код в «chapter-1-complete». Я хотел бы включить 'chapter-1-complete' внутри ветки 'chapter-1-start' в такой каталог, как 'lib / reference_app', чтобы она могла сравнивать или, при необходимости, вырезать и вставлять файлы от завершения до начала , Вот мои цели:

  1. Храните весь код в одном хранилище.
  2. Справочная ветвь 'chapter-1-complete' внутри 'chapter-1-start' должна быть текущей - обновлять не нужно.

Я думаю, что это возможно с подмодулями, но у них нет опыта работы с ними. Я опасаюсь потерять всю свою историю мерзавцев, вставив рекурсивную ссылку.

1 Ответ

0 голосов
/ 04 июля 2018

Добавление того же репо, что и подмодуля для конкретной ветви, - это трюк, который я делал в прошлом: см. " Копирование документации Doxygen из ветви gh-pages в подпапку главной ветви " в качестве примера. .

В вашем случае студент может в своем репо сделать:

git branch chapter-1-complete origin/chapter-1-complete
git checkout chapter-1-start
git submodule add -b chapter-1-complete -- /remote/url/of/your/own/repo
git commit -m "ADd chapter-1-complete branch as submodule"
git push

Тогда простого git submodule update --remote, выполненного в chapter-1-start, будет достаточно для обновления содержимого подпапки chapter-1-complete (корневой каталог подмодуля). Смотрите " Подмодуль git следует за веткой ".

...