![](/img/trans.png)
[英]GIT_DISCOVERY_ACROSS_FILESYSTEM not set when running composer update
[英]GIT_DISCOVERY_ACROSS_FILESYSTEM problem when working with terminal and MacFusion
我正在使用MacFusion和OSXFuse(类似于MacFuse)将我的服务器通过SSH安装到我的办公室机器上。 当我进入服务器上的rails工作目录时,我在zsh提示符中看不到任何git信息。 如果我尝试git pull origin,我收到以下错误消息:
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 autocorrection&history? 我不也需要设置textmate和其他软件才能使用ssh吗? 我不需要远程桌面来安装DMG等等吗? 所有这一切似乎都有点麻烦。
有没有更好的方法来做我想做的事情? 否则有没有办法启用GIT_DISCOVERY_ACROSS_FILESYSTEM?
PS - MacFusion也可以通过FTP安装服务器 - 这比SSH更可取吗?
您是否正在使用工作树内的目录? 如果ssh挂载点的根目录不包含.git目录,则zsh将无法找到git info。 确保你正在装载包含回购根的东西。
对于GIT_DISCOVERY_ACROSS_FILESYSTEM,它不能做你想要的。 默认情况下,Git将停在文件系统边界。 如果你打开它(它只是一个env var),那么git将跨越文件系统边界并继续寻找。 但是,这几乎从来没有用过,因为你暗示你的本地机器上有一个.git目录,它以某种方式管理一个部分由sshfs挂载构成的工作树。 这没有多大意义。
我收到此错误,直到我意识到我没有初始化该文件夹中的Git存储库,在已安装的vagrant机器上。
所以我输入了git init
然后git工作了。
如果git没有读取配置文件的权限,你也会得到这个。 它将在层次结构树中上升,直到它需要跨文件系统。
我的问题是我不在我刚刚克隆的正确git目录中。
从第一个谷歌点击来到这里:
您可以通过导出GIT_DISCOVERY_ACROSS_FILESYSTEM=1
来关闭行为AND和警告。
在heroku上,如果你使用heroku config:set GIT_DISCOVERY_ACROSS_FILESYSTEM=1
,警告就会消失。
这可能是因为你正在从源代码构建一个gem,而gemspec shell就像git
一样构建了git
。 所以,你仍然会得到fatal: Not a git repository (or any of the parent directories): .git
的警告fatal: Not a git repository (or any of the parent directories): .git
但是解决这个问题是另一天:)
尝试不同的协议。 例如,git://可能会出现防火墙问题; 尝试用https:代替git克隆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.