繁体   English   中英

使用终端和MacFusion时出现GIT_DISCOVERY_ACROSS_FILESYSTEM问题

[英]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但是解决这个问题是另一天:)

我的回答是: - 使用终端和MacFusion时评论GIT_DISCOVERY_ACROSS_FILESYSTEM问题

尝试不同的协议。 例如,git://可能会出现防火墙问题; 尝试用https:代替git克隆。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM