42

MacFusionとOSXFuse(MacFuseに類似)を使用して、SSH経由でサーバーをオフィスマシンにマウントしています。サーバーのrails作業ディレクトリにcdすると、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の自動修正と履歴が失われることはありませんか?sshを使用するためにtextmateやその他のソフトウェアもセットアップする必要はありませんか?また、DMGなどをインストールするためにリモートデスクトップを使用する必要はありませんか?そのすべてが少し面倒なようです。

私がやりたいことをするためのより良い方法はありますか?それ以外の場合、GIT_DISCOVERY_ACROSS_FILESYSTEMを有効にする方法はありますか?

PS-MacFusionはFTP経由でサーバーをマウントすることもできます-SSHよりも望ましいでしょうか?

4

6 に答える 6

30

マウントされたvagrantマシンで、そのフォルダーにGitリポジトリーを初期化していないことに気付くまで、このエラーが発生しました。

だから私はタイプgit initしてからgitが機能した。

于 2015-07-27T16:09:08.310 に答える
29

作業ツリー内のディレクトリにSSHで接続していますか?sshマウントポイントのルートに.gitdirが含まれていない場合、zshはgit情報を見つけることができません。リポジトリのルートを含むものをマウントしていることを確認してください。

GIT_DISCOVERY_ACROSS_FILESYSTEMに関しては、それはあなたが望むことをしません。デフォルトでは、Gitはファイルシステムの境界で停止します。これをオンにすると(そしてそれは単なるenv varです)、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、警告が消えます。

これはおそらく、git今日多くの人が行っているように、ソースからgemを構築し、gemspecシェルをに構築しているためです。だから、あなたはまだ警告を受け取りますが、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:でgitcloneを試してください。

于 2014-03-19T16:27:48.167 に答える