Как мне направить каталог jekyll _site на ветку gh-pages и оставить источник в master?
У меня есть базовый сайт jekyll, состоящий из страниц (не сообщений), но, поскольку я хотел сортировать страницы, когда я их перечислил, мне пришлось использовать Jekyll-Sort плагин (некоторые странные страницы сортировки не встроены в jekyll).
Поскольку я использую плагин, я не могу использовать GitHub auto jekylling. Поэтому я хотел бы нажать исходный код проекта на ветку master
и только каталог _site
на ветку gh-pages
.
Я не могу понять, как это сделать. Я попытался добавить репозиторий git в каталог _site
, чтобы нажать его на gh-pages
, но каждый раз, когда я запускаю jekyll
, он удаляет весь каталог и меня потеряйте папку .git
.
Любые предложения? Или способ изначально сортировать?
Ответы
Ответ 1
Менее болезненное решение:
- Проверьте свою ветку, где находится ваш источник сборки (возможно,
src
или master
)
- (Необязательно: добавьте
_site
к вашему .gitconfig
, поэтому он будет проигнорирован, если он еще не был выполнен)
-
Удалить все содержимое каталога _site
:
$ rm -r _site/*
-
Откройте свою репо gh-pages
в папку _site
:
$ git clone -b gh-pages `git config remote.origin.url` _site
Заключительные шаги: просто создайте jekyll build, сделайте фиксацию и нажмите:
$ jekyll build
,
cd в _site
:
$ cd _site
,
укажите все файлы для фиксации:
$ git add -A
,
передать их:
git commit -am 'Yeah. Built from subdir'
и нажмите свой сайт на GitHub-Pages:
git push
.
Ответ 2
Я сделал это некоторое время со своей оболочкой script.
Решение 1.
Создайте .gitignore, который исключает папку _site/. Затем пусть ваша оболочка script проверяет, находитесь ли вы на хозяине, если это так, добавьте все измененные файлы и скопируйте их. Затем переместите папку _site/во временную папку. Перейдите в ветвь gh-pages и скопируйте временную папку. Добавить все и совершить. Нажмите на ветвь master и gh-pages.
Решение 2.
Скопируйте содержимое _site/folder в другое репо, которое является точным клоном репо, с которым вы работаете, но проверили на ветке gh-pages. Затем просто нажмите ведущую ветку из исходного репо и ветки gh-страниц из другого репо