GitHub: сопоставление ветки с другим локальным каталогом в Windows

У нас есть проект, который был построен с использованием TFS в качестве системы управления версиями. Теперь это было размещено на GitHub.

Мы также добавили ветку gh-pages на GitHub для документации.

Однако мы не хотим, чтобы файлы документации загромождали основной рабочий каталог.

Как настроить локальный каталог для gh-pages, чтобы он находился в другом месте?

Я пытался использовать git-new-workdir, как указано здесь, но Powershell сказал мне

репозиторий '[email protected]/git/git.git' не существует

Затем я попытался клонировать скрипт Powershell, найденный здесь, вместо отсутствующего скрипта из предыдущего примера, но то я получаю сообщение об ошибке

[путь к сценарию] недействителен: это репозиторий git?

Может кто-нибудь объяснить (с точки зрения новичка), как сопоставить ветку с другим локальным каталогом?

[И для пояснения: локальной системой является Windows, поэтому доступны инструменты GitHub для Windows и Powershell.]


person awj    schedule 25.01.2015    source источник
comment
Я думаю, вы ищете подмодули git.   -  person arkascha    schedule 25.01.2015
comment
Возможно, я неправильно понял все разветвления подмодулей, но это кажется слишком сложным способом указания на другую локальную папку. Я также не понимаю, как это позволяет мне разделять мои существующие ветки - разве это не относится к дочерним каталогам, а не к ветвям?   -  person awj    schedule 25.01.2015
comment
ХОРОШО. Тогда, возможно, я не понял вопроса :-) Если вы просто хотите хранить эти файлы в отдельной папке... то почему бы вам просто не сделать это? и добавить эту папку в git? Однако если ваша проблема заключается в том, что папка каким-то образом не должна быть частью git, но все же должна быть ее частью, что ж, тогда все это несколько сложнее. Подмодули git очень похожи на svn ::externals. Не больше, не меньше. вы можете использовать их для загрузки материалов из внешних репозиториев. Хорошая разлука.   -  person arkascha    schedule 25.01.2015
comment
Да, я хочу хранить документацию в отдельной папке, но github-pages требует, чтобы у вас был index.html верхнего уровня в ветке gh-pages. Я не хочу, чтобы эта или любые другие страницы находились в моей папке с рабочим кодом. Я надеюсь, что это объясняет, почему я хочу, чтобы эта ветка gh-pages находилась в отдельном месте.   -  person awj    schedule 25.01.2015
comment
Почему это должно быть ответвлением? Ветвь — это вариант объекта, а не что-то помимо объекта. Я бы сказал, что вы хотите поместить их в отдельный репозиторий. но, как говорится: может быть, я вас неправильно понимаю.   -  person arkascha    schedule 25.01.2015
comment
Это должна быть ветка, потому что так работают github-pages. pages.github.com — выберите вариант сайта проекта, и вы увидите пояснение, которое следует добавить ветку gh-pages.   -  person awj    schedule 25.01.2015
comment
Хорошо, тогда, очевидно, я неправильно понял их объяснение на pages.github.com, в котором говорится, что вы создаете репозиторий, добавляете страницы и подтолкнуть их. Извини.   -  person arkascha    schedule 25.01.2015
comment
Эти указания довольно четко указывают на то, что это должен быть репозиторий сам по себе. Они даже предписывают точное название, которое оно должно иметь. Ничего из этого не указывает на ветку в основном репозитории.   -  person Etan Reisner    schedule 25.01.2015
comment
› Ничто из этого не указывает на ветку в основном репозитории. Прочтите руководство для опции «Сайт проекта», и в нем объясняется, что необходимо добавить ветку «gh-pages». Отдельный репозиторий мог бы быть простым решением, но я бы предпочел сохранить документацию именно так, как предлагает GitHub.   -  person awj    schedule 25.01.2015


Ответы (1)


Это можно легко решить, используя 2 отдельных репозитория. Например, projectname и projectname-docs.

Сделав это, вы можете клонировать оба репозитория в совершенно отдельные папки по своему желанию.

Я считаю, что это самый простой (и, вероятно, единственный) способ сделать то, что вы просите, используя GitHub для Windows.


В качестве альтернативы вы можете использовать командную строку git и дважды клонировать репозиторий. Вы можете использовать первый клон для своего основного рабочего каталога, а второй клон для gh-pages.

Если это то, что вы рассматриваете, вы можете взглянуть на это:

Как клонировать определенную ветку Git?

person tehp    schedule 12.08.2016