2013-12-05 2 views
17

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

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

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

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

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

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

так это есть способ, чтобы подтолкнуть мастер в, как подмножество, GH-страниц?

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

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

+1

Есть способы синхронизировать * подкаталог * вашей основной ветки с ветвью 'gh-pages', то есть содержимое этого подкаталога определит, как выглядит ветка' gh-pages', ср. http://www.damian.oquanta.info/posts/one-line-deployment-of-your-site-to-gh-pages.html. Это поможет? – krlmlr

+1

Использование [GitHub для Mac] (http://mac.github.com/) или [GitHub для Windows] (http://windows.github.com/) - еще одна опция, которая делает выполнение ветвлений слиянием и синхронизацией с GitHub. com очень просто. –

+1

Просто, чтобы быть ясным: я смог поддерживать локальную ветвь gh-pages с прекрасным простым методом checkout/merge/push. Это правильно держит gh-страницы единственной ветвью с 5 файлами веб-сайта и мастером, очищающим их.Коаном является то, как после создания единственного редактирования/фиксации/нажатия, необходимого для начала работы, для поддержания gh-страниц только в github * *. Больше не нужно возиться с локальной ветвью gh-страниц. – backspaces

ответ

9

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

+5

Я думаю, что на = заменить, так как это то, что «git push -f origin master: gh-pages' будет делать – stellarhopper

+1

Как сказано выше: в: добавить файлы в ветвь gh-pages, а« на »означает заменить весь gh -страница с мастером. Определенно не хотелось! – backspaces

24

Насколько я понимаю, вам придется переключиться на локальную копию gh-страниц. Слияние в мастера, а затем нажмите Gh-страницы

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

Как я уже упоминал, это также слияние чего-либо еще на master в gh-pages. часто время в проектах github, gh-pages живет на том же репо, что и настоящий проект, и является только связанным с ним сайтом, но не имеет ни одного связанного с ним исходного кода как самого проекта. просто fyi, но я считаю, что это то, что нужно сделать. –

+3

Так потрясающе! Другие сайты, занявшие первое место в Google, заявили, что делают некоторые из них «git rebase master» из ветви gh-pages, и все это вызвало конфликты и проблемы. Спасибо! –

+1

Измените 'git merge master' на' git rebase master' в случае, если только клонирование мастера полностью совпадает с – hyip

1

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

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

+1

OP уже упомянул, что они прочитали [эту ссылку] (http://oli.jp/2011/github- страницы документооборот /). –

+2

@ DanDascalescu достаточно справедливо - должно быть, спал на этом, но я добавил часть одобрения Павла ирландца;) – jamie