Подтвердить что ты не робот

Проблема GIT_DISCOVERY_ACROSS_FILESYSTEM при работе с терминалом и MacFusion

Я использую MacFusion с OSXFuse (аналогично MacFuse) для подключения моего сервера через SSH к моей офисной машине. Когда я подключаюсь к рабочему каталогу на сервере, я не вижу никакой информации о git в моей zsh-подсказке. Если я попытаюсь создать источник git pull, я получаю следующее сообщение об ошибке:

fatal: Not a git repository (or any parent up to mount parent /Volumes)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)

Я знаю, что могу ssh на сервере, но тогда я бы не потерял автокорреляцию zsh и историю? Разве мне не нужно было бы настраивать textmate и другое программное обеспечение для использования ssh? И не нужно ли мне удаленный рабочий стол устанавливать DMG и так далее? Все это кажется немного хлопот.

Есть ли лучший способ сделать то, что я хочу сделать? В противном случае есть способ включить GIT_DISCOVERY_ACROSS_FILESYSTEM?

PS - MacFusion также может монтировать сервер через FTP - было бы предпочтительнее SSH?

4b9b3361

Ответ 1

Вы ssh'ing в каталог, который находится внутри вашего дерева работ? Если корень вашей точки монтирования ssh не включает в себя .git, то zsh не сможет найти git info. Убедитесь, что вы монтируете то, что включает корень репо.

Что касается GIT_DISCOVERY_ACROSS_FILESYSTEM, он не делает то, что вы хотите. git по умолчанию останавливается на границе файловой системы. Если вы включите это (и это просто env var), то git пересечет границу файловой системы и продолжит искать. Тем не менее, это почти никогда не бывает полезным, потому что вы подразумеваете, что на вашем локальном компьютере есть каталог .git, который каким-то образом предназначен для управления деревом, состоящим из части монтирования sshfs. Это не имеет большого смысла.

Ответ 2

Я получил эту ошибку, пока не понял, что я не инициализировал репозиторий Git в этой папке на смонтированной бродяжной машине.

Итак, я набрал git init, а затем Git работал.

Ответ 3

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

Ответ 4

Прибытие сюда с первого хита Google:

Вы можете отключить поведение AND и предупреждение, экспортировав GIT_DISCOVERY_ACROSS_FILESYSTEM=1.

На геройку, если вы heroku config:set GIT_DISCOVERY_ACROSS_FILESYSTEM=1 предупреждение будет уходить.

Вероятно, потому, что вы строите драгоценный камень из источника и gemspec shells, чтобы git, как многие делают сегодня. Таким образом, вы все равно получите предупреждение о fatal: Not a git repository (or any of the parent directories):.git но адресация - это еще один день :)

Мой ответ - это дубликат: - комментарий проблемы GIT_DISCOVERY_ACROSS_FILESYSTEM при работе с терминалом и MacFusion

Ответ 5

Попробуйте использовать другой протокол. git://например, могут возникнуть проблемы с вашим брандмауэром; попробуйте git клон с https: вместо этого.

Ответ 6

Моя проблема заключалась в том, что я не был в правильном каталоге git, который я только что клонировал.