Ваши gh-страницы и главная ветвь имеют ТОЧНО одинаковую структуру папок? Если это так, почему вы хотите иметь две ветви? просто поддерживай одну ветку gh-pages! но если по какой-либо причине вы хотите, чтобы обе ветви были постоянно синхронизированы, то лучше всего использовать git rebase
. Смотрите здесь:
http://lea.verou.me/2011/10/easily-keep-gh-pages-in-sync-with-master/
Вы также можете выбрать только те файлы, которые вам нужны, из мастера и перенести их на gh-страницы, используя специальный вариант использования git checkout
. Смотрите здесь:
http://oli.jp/2011/github-pages-workflow/#gh-pages-workflow
http://nicolasgallagher.com/git-checkout-specific-files-from-another-branch/
Мне пришлось столкнуться с той же проблемой, с которой я столкнулся, и обнаружил, что gh-страницы обычно имеют другую кодовую базу, чем master. Другими словами, gh-страницы должны включать только содержимое папки dist / build / publish вашего проекта, тогда как master будет включать ваши файлы конфигурации, незавершенные скрипты и стили и т. Д.
Я бы предложил создать gh-страницы как ветку --orphan
и включать в нее только готовый к публикации материал. Вам придется клонировать своего мастера в другой локальный каталог, использовать git checkout --orphan gh-pages
для создания gh-страниц, а затем удалить все ненужные файлы, используя git rm -rf .
. Оттуда вы можете перейти и перейти на gh-страницы после добавления файлов только для публикации.
Обратитесь к документации Github для получения дополнительной информации:
https://help.github.com/articles/creating-project-pages-manually/
Удачи