нажмите с Git поддерево для корня проекта - PullRequest
0 голосов
/ 16 января 2019

В настоящее время я работаю над проектом github pages и создаю веб-сайт в папку с именем dist в ветви с именем dev. Я хочу отправить содержимое dist в ветку master. Погуглив, я нашел поддерево github и мог переместить каталог dist в master, используя команду:

git subtree push --prefix dist origin master

проблема в том, что это толкает весь каталог. Таким образом, главная ветвь имеет один каталог с именем dist, содержащий dist/index.html и т. Д. Вместо этого я хотел бы перенести все содержимое dist в основную ветку. Так что основная ветвь содержит index.html и все остальное содержимое. Как это можно сделать?

1 Ответ

0 голосов
/ 16 января 2019

Это нелегко сделать (не считая некоторых git filter-branch магии)

Если вы посмотрите на « Настройка источника публикации для страниц GitHub », вам следует вместо этого создать свой сайт непосредственно в gh-pages ветви.

Или, вы можете остаться в master ветви, но генерировать в папке docs/ вместо dist.

В обоих случаях страницы GitHub будут отображать этот контент.

Однако для Страница пользователя :

Если ваш сайт представляет собой страницу пользователя или организации с репозиторием с именем <username>.github.io или <orgname>.github.io, вы не можете публиковать исходные файлы своего сайта из разных мест.
Пользовательские и организационные страницы с таким типом имени хранилища публикуются только из master ветви .

В этом случае измените рабочий процесс:

  • разработайте свой сайт в ветке dev,
  • создайте свой сайт в ветке master

Когда вы находитесь в ветке dev, вы можете объявить ветку master как подмодуль (см. Здесь для процедуры ), которая поэтому будет отображаться как «подпапка» (например, подпапка «dist», за исключением того, что подпапка фактически будет тем же репозиторием Git в master)

Создайте свой сайт как обычно (в dist), перейдите в dist, добавьте, зафиксируйте и отправьте (эта подпапка, являющаяся подмодулем, будет нажимать на связанную ветку: master)
Затем вернитесь в папку репозитория вашего проекта (родительский элемент dist, в настоящее время в ветви dev), добавьте, зафиксируйте и нажмите (для записи нового состояния подмодуля dist)

...