мерзавец: поместите ответвление в подкаталог

У меня есть репозиторий мерзавца (по github.com) с двумя ответвлениями: ведущее устройство и gh-страницы. Я хотел бы иметь ответвление gh-страниц в подкаталоге, так, чтобы я не должен был переключать ответвления каждый раз.

repo/
    (content of the master branch)
    gh-pages/
            (content of the gh-pages branch)

Это возможно?

22
задан Giovanni Funchal 5 March 2010 в 12:31
поделиться

4 ответа

Это не то, как все должно работать. Вы теоретически могли бы клонировать репозиторий в подкаталоге вашего оригинального клона и пометить этот каталог как исключенный из репозитория более высокого уровня, но не было бы гораздо проще просто проверить его в совершенно другом каталоге вместо подкаталога?

То есть...

/repo/master/(clone on master branch)

и затем другой клон, который находится на другой ветке

/repo/gh-pages/(clone on gh-pages branch)
6
ответ дан 29 November 2019 в 05:00
поделиться

Ветки в git являются указателями на коммиты (которые перемещаются), и поэтому иметь ветку как подкаталог невозможно.

Справедливости ради, git co gh-pages не намного сложнее, чем cd ../gh-pages

-3
ответ дан 29 November 2019 в 05:00
поделиться

Обычно при управлении версиями не рекомендуется объединять несколько проектов в один репозиторий. Например, что, если кто-то захочет форкнуть ваш репозиторий, но не разместить свою копию на GitHub? Тогда каталог gh-pages будет для них совершенно бесполезен. Даже если бы они разместили свои на GitHub, каталог gh-pages вполне мог по-прежнему не иметь для них никакого отношения.

Я понимаю, что способ сделать это на GitHub в некоторой степени противоречит этому совету (в конце концов, даже если они находятся в разных ветвях, они все еще находятся в одном репо). Однако ветки в этом случае совершенно не связаны (у них нет общей истории), поэтому с практической точки зрения это как если бы они были в отдельных репозиториях. Если кто-то клонирует ваше репо и не хочет ветвь gh-pages , он может удалить ее, и это не повлияет на ноль на мастер .

3
ответ дан 29 November 2019 в 05:00
поделиться

Возможно, вы ищете опцию слияния поддеревьев.

Она позволит вам выписать несвязанную ветвь в подкаталог другой и затем объединить их туда и обратно. Однако вам всё равно придётся проверить gh-pages и слить изменения из основного репозитория, прежде чем pushes станет доступен на GitHub.

Вы также можете проверить gh-pages как подмодуль вашей основной ветки, если вам так удобнее.

25
ответ дан 29 November 2019 в 05:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: