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

Rib*_*ena 39 git ssh macfuse sshfs

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

我知道我可以ssh到服务器但是我不会失去zsh autocorrection&history?我不也需要设置textmate和其他软件才能使用ssh吗?我不需要远程桌面来安装DMG等等吗?所有这一切似乎都有点麻烦.

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

PS - MacFusion也可以通过FTP挂载服务器 - 这会不会优于SSH?

Lil*_*ard 29

您是否正在使用工作树内的目录?如果ssh挂载点的根目录不包含.git目录,则zsh将无法找到git info.确保你正在装载包含回购根的东西.

对于GIT_DISCOVERY_ACROSS_FILESYSTEM,它不能做你想要的.默认情况下,Git将停在文件系统边界.如果你打开它(它只是一个env var),那么git将跨越文件系统边界并继续寻找.但是,这几乎从来没有用过,因为你暗示你的本地机器上有一个.git目录,它以某种方式管理一个部分由sshfs挂载构成的工作树.这没有多大意义.

  • @Ribena:在sshfs mount上使用git repo应该没问题.但是,是的,手动复制你的git repo而不是做一个git clone通常不是一个好主意. (2认同)

Kir*_*and 28

我收到此错误,直到我意识到我没有初始化该文件夹中的Git存储库,在已安装的vagrant机器上.

所以我键入git init然后git工作.