ветвь git:gh-страницы
-
13-10-2019 - |
Вопрос
У меня есть репозиторий на GitHub.Недавно я обнаружил страницы GitHub и хочу ими воспользоваться.
Я хотел бы создать эту новую ветку, а затем, когда мне нужно, либо зафиксировать на master
ветка или на gh-pages
филиал.
Как я могу это сделать?Должен ли я создать другую папку внутри моего репозитория?
Решение
Вы можете найти этот учебник полезным:
Для меня этот подход кажется проще, чем сделать git checkout gh-pages
Каждый раз, когда вы хотите отредактировать свой контент GH-Pages. Дай мне знать, что ты думаешь ^_ ^
Редактировать: Я обновил ссылку на учебное пособие - спасибо @cawas. Старый туотиальный (не рекомендуется) был https://gist.github.com/825950
Другие советы
Более поздние версии GIT имеют альтернативу git symbolic-ref
Метод, который объяснил Чандру. Это избегает использования команд более низкого уровня.
git checkout --orphan gh-pages
git rm -rf .
На вашем местном клоне
git symbolic-ref HEAD refs/heads/gh-pages
rm .git/index
git clean -fdx
Затем, git checkout gh-pages
и напишите свои страницы. git push origin gh-pages
Когда вы будете готовы опубликовать страницы.
Есть еще одно решение вашей проблемы: забудьте о gh-pages
и ветвление; Поместите свои статические файлы, которые должны быть поданы внутри /docs
каталог, а затем перейдите к настройкам проекта и скажите GitHub обслуживать /docs
содержание.
Для получения дополнительной информации взгляните на это
Опубликуйте статический сайт, подобный этому:
git subtree push --prefix www origin gh-pages
Где www
это каталог DOC Root, в котором находятся ваши статические файлы. Ваш статический сайт теперь живет по адресу:https://[user_name].github.io/[repo_name]/
Создание страниц проекта вручную
Добавление нового набора страниц для проекта вручную является простым процессом, если вы привыкли использовать GIT командной строки.
https://help.github.com/articles/creating-project-pages-merally
Имеют ли ваши gh-страницы и главная ветвь ТОЧНО такую же структуру папок?Если это так, то зачем вам вообще нужно иметь две ветви?просто поддерживайте одну ветку gh-pages!но если по какой-либо причине вы хотите, чтобы обе ветки постоянно синхронизировались, то лучше всего использовать git rebase
.Смотрите здесь:
http://lea.verou.me/2011/10/easily-keep-gh-pages-in-sync-with-master/
Вы также можете выбрать из 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-pages после добавления файлов, доступных только для публикации.Обратитесь к документам Github для получения дополнительной информации:
https://help.github.com/articles/creating-project-pages-manually/
Удачи вам
Типичным способом является переключение ветвей: git checkout master
Если вы хотите поработать над Мастером и git checkout gh-pages
Если вы хотите работать над gh-pages
.
Начиная с GIT 2.5, вы можете проверить обе ветви одновременно (в разных каталогах). Видеть https://github.com/blog/2042-git-2-5-cluding-multiple-worktrees-and-triangular-workflows. Анкет Настройка через git worktree add -b gh-pages ../gh-pages origin/gh-pages
.
Бонус: если содержание подкаталогера вашего master
заказа - это содержание gh-pages
, Используйте сценарий, предоставленный в https://github.com/x1011/git-directory-deploy.