2013-02-18 2 views
2

Я установил (FTP) папку через Transmit на своем mac в качестве тома. Он полностью доступен, и я могу пройти через каталоги с помощью приложения терминала.Git init на виртуальном томе

Но я не могу назвать git init без получать сообщение об ошибке:

/Volumes/FTPVolume/doc/.git: No such file or directory 

Папка .git должна быть создана с помощью этого вызова, поэтому сообщение об ошибке не имеет большого смысла для меня. Я могу настроить репозиторий git на свои локальные тома с помощью этого вызова.

Когда я пытаюсь соединить папку мерзавцу в любом случае, например, через

git remote add origin https://[email protected]/repositoryowner/project.git 

затем я получаю сообщение об ошибке

Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). 

Является ли одна проблема, связанная с другой? И больше импорта, можно ли инициализировать git-репозиторий на виртуальном томе?

Я работаю над Mac Mountain Lion и создаю тома через приложение Transmit.

ответ

0

Описанные вами симптомы предполагают, что у вас нет доступа на запись к FTP-серверу, или mount не поддерживает перехваты файловой системы, которые git использует для управления файлами/каталогами. Вторая ошибка, хотя она звучит загадочно, просто означает, что команда «git remote» также не могла найти папку .git. Конкретная ошибка вызвана тем, что, когда git не находит ее в текущем каталоге, она будет перемещаться вверх и проверять все родительские каталоги до тех пор, пока не будет найдена граница файловой системы. Это поможет вам понять ошибки.

Чтобы помочь вам добраться до места, где я думаю, вы пытаетесь сделать это: я собираюсь предположить, что то, что вы действительно хотите сделать, - это получить код, который находится на FTP-сервере, в ваш удаленный репозиторий через git push. Чтобы сделать это, выполните следующие действия, начиная с вашей домашней директории или где-нибудь, кроме установленного объема FTP:

mkdir my_ftp_project 
cd my_ftp_project 
git init 
git remote add origin https://[email protected]/repositoryowner/project.git 
export GIT_DIR=`pwd`/.git/ 
cd /Volumes/FTPVolume/doc/ 
git add . 
git commit -m "Initial commit" 
git push 

Ключевым моментом здесь является использование переменной окружения «GIT_DIR», чтобы указать мерзавца на рабочий репозиторий. Вместо того, чтобы пытаться создать репозиторий git на ftp-сервере (я думаю, это плохая идея), вышесказанное создаст репозиторий на вашем HD в вашей домашней папке, а затем просто укажет git обратно в этот репозиторий вместо того, чтобы его попробуйте создать новый на ftp.

Обратите внимание, что после того, как вы закончите, вы должны «отключить GIT_DIR», если вам нужно использовать git обычно в другом месте в той же оболочке. Кроме того, не забудьте снова установить GIT_DIR, когда вы вернетесь, и хотите запустить больше git-команд на ftp-mount против этого репозитория.

Смежные вопросы