Github Windows: работа с ветками master и gh-pages

У меня есть до боли простой плагин jQuery, который я написал и разместил на github. Я использую Github для Windows и сам веб-сайт для управления проектом.

К сожалению, если я попытаюсь включить какой-либо из файлов .js или .css, которые я загрузил туда, через Raw ссылки, это не удастся в моем браузере из-за того, что MIME-тип plain/text.

Итак, последние пару часов я исследовал, как получить копии файлов через github, на которые люди (включая меня) могут ссылаться. Первым шагом кажется создание страницы проекта (ветка gh-pages) ... это я понял.

Однако весь материал, который я нашел до сих пор, либо предполагает, что у вас будет система на основе UNIX, либо вы проделаете какие-то консольные уловки:

Примеры: GitHub, SO, ТАК

Теперь должен быть простой способ сделать эти исходные файлы доступными для включения. Я прошел через автоматические шаги по созданию «страницы проекта», и теперь мне представлена ​​другая ветка, которая утверждает, что находится за «главной» веткой, но я не вижу, что мне делать дальше. Мне даже не ясно, зачем мне делать еще одну ветку. Все это кажется намного более сложным, чем должно быть.

Итак, резюмируем:

  • Я создал ветку в Github (используя приложение для Windows и веб-сайт)
  • Я могу управлять этим и обновлять свои файлы без происшествий
  • Я не могу включить файлы .js и .css, используя "сырые" ссылки
  • Я хочу иметь возможность включать эти файлы на страницу
  • Я бы хотел сделать это через Github для Windows или на самом сайте

Если бы кто-нибудь мог помочь мне пройти через это, я был бы признателен. Кроме того, я ожидал бы, что МНОГО других тоже.

РЕДАКТИРОВАТЬ: Вот пример известного проекта Github, файлы которого доступны через Github:

Select2: http://ivaynberg.github.io/select2/select2-3.4.2/select2.js

EDIT2: Хорошо, концептуально, теперь я понимаю, почему мне нужно создать отдельную ветку, чтобы делиться файлами - поскольку аспекты управления версиями Github не предназначены для работы в качестве CDN, Страница проекта просто представляет собой общедоступный веб-сайт, на котором вы можете разместить свои файлы. Итак, теперь возникает вопрос: Как мне поместить мои файлы из основной ветки в ветку gh-pages? Я не беспокоюсь об автоматизации этого или чего-либо прямо сейчас, все, что мне нужно, это доступ к структура каталогов, чтобы я мог размещать туда файлы. Я пробовал синхронизировать и повторно синхронизировать свою ветку с Github Windows, но он говорит мне, что из ветки gh-pages получить нечего, даже несмотря на то, что это «10 коммитов позади». Что здесь происходит?

РЕДАКТИРОВАТЬ 3: Добавил свой ответ на то, что я придумал (пока).


person EleventyOne    schedule 29.08.2013    source источник
comment
github - это не CDN, чтобы делиться файлами как CDN   -  person Arun P Johny    schedule 29.08.2013
comment
Независимо от того, является ли это CDN, он обычно используется для таких целей (я добавил к вопросу громкий пример). Кроме того, как я уже упоминал, сам Github пытается объяснить, как это сделать, но я просто не могу следить за их документацией.   -  person EleventyOne    schedule 29.08.2013


Ответы (2)


Как уже упоминалось, есть много информации для людей, использующих консольное программное обеспечение Git. Однако я не смог найти ни одной информации о том, как это сделать исключительно через Github Windows. Что ж, вот решение:

Процесс:

  • Создайте страницу проекта, как описано здесь: https://help.github.com/articles/creating-pages-with-the-automatic-generator.

  • К сожалению, у них есть только консольное решение для получения локальной копии. Итак, вот как все остальное работает в Github Windows ... (предположение: имя проекта myproject, состоящее из myproject.js и myproject.css)

  • После того, как страница будет создана (это займет несколько минут), откройте Github Windows.

  • В Github Windows откройте репозиторий проекта. В верхней строке меню есть «синхронно», «мастер», «инструменты». Нажмите «master» и переключитесь на ветку «gh-pages» - SO пример.

  • Когда вы это сделаете, в папке C:\Users\YourName\Documents\GitHub\myproject теперь будут отображаться файлы ветки "gh-pages". Если вы нажмете «master» в Github Windows, структура папок изменится, чтобы снова представить «главную» ветку. Вот что меня раньше смущало: вы не можете видеть структуру каталогов для обеих веток одновременно.

  • Выберите «главную» ветку в Github Windows.

  • В проводнике Windows скопируйте myproject.js и myproject.css в отдельный каталог (например, c:\temp).

  • Вернитесь в Github Windows и выберите ветку «gh-pages».

  • Вернитесь в проводник Windows, вырежьте файлы, которые вы поместили в c:\temp, и вставьте их в каталог, например C:\Users\YourName\Documents\GitHub\myproject\myproject-1.0\.

  • Вернитесь в Github Windows, и вы увидите «2 файла для фиксации». Введите сообщение о фиксации и нажмите «Применить».

  • Затем нажмите «Синхронизировать».

  • Теперь вы можете включить эти файлы на свои веб-страницы, используя URL-адрес вида: http://yourname.github.io/myproject/myproject-1.0/myproject.js

Очевидно, что делать это таким способом - это огромная головная боль, если вы планируете регулярно обновлять исходный файл (ы). Очевидно, что автоматизированный подход был бы наиболее идеальным. На SO здесь есть ответ, к сожалению, это включает в себя сценарии на основе UNIX, о которых я ничего не знаю (и, честно говоря, я не заинтересован в изучении только для этого). Если кто-нибудь предложит более эффективный способ сделать это, используя только инструменты на основе графического интерфейса, я уверен, что мне и многим другим будет интересно узнать об этом.

РЕДАКТИРОВАТЬ: это решение, очевидно, узурпирует намеченный Github способ делать что-то, так как когда я нажимаю на ветку "gh-pages" на веб-сайте github, он сообщает мне, что «5 коммитов впереди и 11 - позади. "главная ветка, даже если у них одинаковые файлы. Итак, опять же, если у кого-то еще есть лучшее решение этой проблемы на основе графического интерфейса пользователя, я все слышу.

person EleventyOne    schedule 29.08.2013
comment
Это правильный способ сделать это через GitHub для Windows. Он говорит, что 5 коммитов впереди и 11 коммитов позади, потому что ветки независимы друг от друга и технически эти коммиты являются разными коммитами со своими собственными идентификаторами, содержимым и сообщениями коммитов. - person caw; 11.10.2013
comment
Да, после нескольких дней использования новой версии Github для Windows, все кажется относительно простым. Перечитывая свои проблемы, я не совсем уверен, что меня смущало в коммитах в конце, но, похоже, в настоящее время все работает нормально. - person EleventyOne; 16.03.2015

Программное обеспечение Git (hub) для Windows - это самая глючная вещь, которую я когда-либо использовал (ну, кроме самой Windows). Раньше, когда я работал с Windows, я вообще не мог заставить что-нибудь работать с Git.

Но, в любом случае, чтобы ответить на ваш вопрос, если вы откроете командную строку и наберете

git checkout -b gh-pages

(если он жалуется на уже существующие gh-страницы ветки, удалите -b.)

он должен переключить ветку. Затем вы можете запустить notepad ++ или любой другой текстовый редактор, который вы используете (, возможно, вам придется сделать это из терминала, я не могу вспомнить), добавить нужный файл и затем ввести (в cmd ):

git add .

Это рекурсивно добавляет все файлы в папке в Git.

git commit -m "Add file for easy user download"

Это добавляет сообщение фиксации.

git remote add origin [email protected]:yourusername/yourrepository.git

Это добавляет репозиторий Github, чтобы вы могли нажать на него

git push origin gh-pages

Это отправит ваши изменения в Github.

И все готово!

Возможно, вы захотите прочитать это о ветвлении Git .

person Piccolo    schedule 29.08.2013
comment
Спасибо за ответ, но я пытаюсь сделать это в Github Windows. FWIW, мне это совсем не кажется глючным, просто немного не хватает в отделе документации :) - person EleventyOne; 29.08.2013