Нажимать локальный мастер * на ветвь gh-pages на github

Я создал простую ветвь gh-pages на github и в своем локальном репо. Я использовал автоматический генератор страниц для создания 5 файлов, которые он использует:    images javascripts stylesheets index.html params.json

Я потянул это на свое местное репо и добавил js-markdown-extra.js в javascripts и отредактировал index.html, чтобы заменить раздел "контент" на скомпилированный README.md, созданный библиотекой меток.

Вставка в манекен README.md показала, что он отлично работает.

Затем я хочу просто нажать мой локальный мастер на (не на) ветвь удаленных gh-страниц, не изменяя 5 файлов веб-сайта.

Я не нашел способ сделать это. Мне сказали через http://oli.jp/2011/github-pages-workflow/, что это сработает: git push -f origin master: gh-pages

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

Итак, есть ли способ вставить master, как подмножество gh-страниц?

В противном случае существует ли простой способ объединить мастер в gh-страницы локально, не удаляя 5 файлов веб-сайта?

Я знаю, как "зеркалировать" все это, так что 5 файлов будут в репо, но я бы хотел избежать этого беспорядка.

Ответ 1

Из того, что я понимаю, вам придется переключиться на локальную копию gh-страниц. Объедините мастер, а затем нажмите gh-pages

git checkout gh-pages
git merge master
git push origin gh-pages

Ответ 2

Если я правильно вас понимаю, кажется, что вы создали фиктивный Readme и другие файлы на своей локальной ветки мастера, но предназначались для их включения в ветвь gh-pages. Если это так, самым безопасным вариантом является объединение основной ветки в ветку gh-pages (при условии, что у вас нет других файлов на главном сервере, которых вы бы, скорее всего, не имели на ветке gh-pages). Команда, предлагаемая git push -f origin master:gh-pages, подтолкнет вашу локальную ведущую ветвь к ветке gh-pages. Я не совсем уверен, что вы имеете в виду, но в vs на, поскольку имена ветвей - это просто указатели в git.

Ответ 3

Вот хороший отчет рабочий процесс github, который я использовал, чтобы понять, как взаимодействовать между ветвями master и gh-pages.

paul irish от google порекомендовал его в комментариях к другой статье - у него были превосходные примеры.

Ответ 4

как насчет использования поддерева git, чтобы служить вашей веткой gh-pages?

git checkout master
git subtree push --prefix . origin gh-pages

в соответствии с документацией git-subtree на исходный код:

Поддеревья позволяют включать подпроекты в подкаталог основного проекта, опционально включая всю историю подпроекта.

В нашем случае, мы можем быть в состоянии псевдоним один и тот же путь (корневой путь; .) в качестве виртуальной копии мастер - ветки (я не проверял, хотя).

кстати, я узнал о поддеревьях после столкновения с этой сущностью кобиизмом.