Проблема 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?
Ответы
Ответ 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, который я только что клонировал.