42

我正在使用 MacFusion 和 OSXFuse(类似于 MacFuse)通过 SSH 将我的服务器安装到我的办公室机器上。当我 cd 进入服务器上的 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 自动更正和历史记录吗?难道我也需要设置textmate和其他软件才能使用ssh吗?我不需要远程桌面来安装 DMG 等等吗?所有这些似乎有点麻烦。

有没有更好的方法来做我想做的事?否则有没有办法启用 GIT_DISCOVERY_ACROSS_FILESYSTEM?

PS - MacFusion 也可以通过 FTP 安装服务器 - 这会比 SSH 更可取吗?

4

6 回答 6

30

在我意识到我没有在安装的流浪机器上初始化那个文件夹中的 Git 存储库之前,我收到了这个错误。

所以我输入git init然后 git 工作。

于 2015-07-27T16:09:08.310 回答
29

您是否正在 ssh'ing 到您的工作树内的目录?如果 ssh 挂载点的根目录不包含 .git 目录,则 zsh 将无法找到 git 信息。确保您正在安装包含回购根目录的内容。

至于 GIT_DISCOVERY_ACROSS_FILESYSTEM,它不会做你想做的事。Git 默认会在文件系统边界处停止。如果你打开它(它只是一个环境变量),那么 git 将跨越文件系统边界并继续查找。但是,这几乎没有用处,因为您暗示您在本地计算机上有一个 .git 目录,该目录以某种方式用于管理由 sshfs 挂载部分组成的工作树。这没有多大意义。

于 2011-08-19T01:34:28.513 回答
3

如果 git 没有读取配置文件的权限,你也会得到这个。它只会在层次结构树中上升,直到需要跨文件系统。

于 2013-07-05T23:47:56.083 回答
2

来自谷歌的第一次点击:

您可以通过导出来关闭行为 AND 和警告GIT_DISCOVERY_ACROSS_FILESYSTEM=1

在heroku上,如果你heroku config:set GIT_DISCOVERY_ACROSS_FILESYSTEM=1警告就会消失。

这可能是因为您正在从源代码构建一个 gem,并且 gemspec 壳输出到git,就像今天许多人所做的那样。所以,你仍然会收到警告fatal: Not a git repository (or any of the parent directories): .git,但要改天解决:)

我的答案与以下内容重复: -使用终端和 MacFusion 时评论 GIT_DISCOVERY_ACROSS_FILESYSTEM 问题

于 2018-01-18T16:42:53.283 回答
1

我的问题是我不在刚刚克隆的正确 git 目录中。

于 2015-11-19T18:37:39.153 回答
0

尝试不同的协议。例如, git:// 可能有来自您的防火墙的问题;尝试使用 https: 的 git clone 代替。

于 2014-03-19T16:27:48.167 回答