Есть ли способ клонировать репозиторий git без определенного каталога? - PullRequest
4 голосов
/ 07 сентября 2011

Я просто хочу клонировать репозиторий illumos-gate на моей машине с Windows.Но, к сожалению, существует каталог с именем «aux», который нельзя создавать в Windows, поскольку Windows рассматривает aux как какое-то имя устройства.Так есть ли способ клонировать весь репозиторий git без этого конкретного каталога?Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 07 сентября 2011

Обновление: поскольку MSys2, на котором собраны все версии 2.x Git For Windows, является форком Cygwin, эти специальные имена файлов теперь должны работать просто отлично.Эта проблема возникнет только в том случае, если вы используете древнюю версию (обратите внимание на дату вопроса - 2011).


Хотя это невозможно с инструментами для работы с родными окнами или с MSY, это можно создать такой каталог с cygwin .Таким образом, вы можете использовать cygwin git вместо msys one в качестве обходного пути.

Cygwin git имеет три основных недостатка по сравнению с msys one: он не регистрируется в системе, поэтому вы не получаете контекстное менюв обозревателе (может быть установлен вручную, это просто запись в реестре), он работает с графическим интерфейсом и gitk, только когда запущен Cygwin X-сервер, и устанавливает смешные списки доступа ко всему, так как cygwin пытается эмулировать разрешения Unix (которые можно отключить в/etc/fstab и я всегда так делаю; не забудьте установить core.filemode в false в git, чтобы он не пытался отслеживать исполняемый бит).Вот почему я обычно использую msys git даже при запуске из cygwin, но поскольку это не работает, Cygwin git должен быть достаточно хорошей заменой.

1 голос
/ 07 сентября 2011

Я могу только придумать способ, который довольно болезненный:

Сделать клон git без проверки - git clone path --no-checkout

Теперь выполните сброс git - git reset

Теперь извлекайте все остальные файлы и папки, кроме вспомогательной - git checkout master -- files/folders

Не ставьте deleted: aux/... изменения

Ясно, очень больно.Единственный правильный способ - клонировать и работать в Linux.

0 голосов
/ 07 сентября 2011

Чтобы избежать клонирования одного или нескольких каталогов, вы можете использовать git sparse checkout как , описанное здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...