Découverte de GIT à travers un problème de système de fichiers lors du travail avec le terminal et MacFusion

J'utilise MacFusion avec OSXFuse(similaire à MacFuse) pour monter mon serveur sur SSH sur ma machine de bureau. Quand je cd dans mon répertoire de travail sur rails sur le serveur, Je ne peux pas voir d'informations git dans mon invite zsh. Si j'essaie l'origine git pull, j'obtiens le message d'erreur suivant:

fatal: Not a git repository (or any parent up to mount parent /Volumes)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)

je sais que je peux SSH sur le serveur, mais ne perdrais-je pas zsh autocorrection & history? N'aurais-je pas aussi besoin de configurer textmate et d'autres logiciels pour utiliser ssh? Et n'aurais-je pas besoin pour remote desktop pour installer des DMG et ainsi de suite? Tout cela semble un peu compliqué.

Est-il une meilleure façon de faire ce que je veux faire? Sinon, y a-t-il un moyen d'activer GIT_DISCOVERY_ACROSS_FILESYSTEM?

PS-MacFusion peut également monter le serveur sur FTP - serait-ce préférable à SSH?

37
demandé sur Ribena 2011-08-19 05:25:27

6 réponses

est-ce que tu te connectes à un répertoire qui est dans ton arbre de travail? Si la racine de votre point de montage ssh ne comprend pas le .git dir, alors zsh ne sera pas en mesure de trouver des informations sur git. Assurez-vous que vous montez quelque chose qui inclut la racine de la pension.

quant à GIT_DISCOVERY_ACROSS_FILESYSTEM, il ne fait pas ce que vous voulez. Git par défaut s'arrêtera à la limite d'un système de fichiers. Si vous activez cela (et c'est juste un env var), alors git va traverser la frontière du système de fichiers et continuez à chercher. Cependant, ce n'est presque jamais utile, parce que vous sous-entendez que vous avez un .git directory sur votre machine locale qui est en quelque sorte destiné à gérer un arbre de travail qui est composé en partie d'un montage sshfs. Qui n'a pas beaucoup de sens.

28
répondu Kevin Ballard 2011-08-19 01:34:28

j'ai eu cette erreur jusqu'à ce que je réalise que je n'avais pas intialisé un dépôt Git dans ce dossier, sur une machine vagabonde montée.

alors j'ai tapé git init et puis git a travaillé.

24
répondu Kirkland 2015-07-27 16:09:08

vous obtiendrez aussi ceci si git n'a pas les permissions pour lire les fichiers de configuration. Il va juste monter dans l'arbre de la hiérarchie jusqu'à ce qu'il ait besoin de croiser les systèmes de fichiers.

3
répondu Dror 2018-08-09 14:21:38

en provenance de Google first hit:

vous pouvez désactiver le comportement et l'avertissement en exportant GIT_DISCOVERY_ACROSS_FILESYSTEM=1 .

sur heroku, si vous heroku config:set GIT_DISCOVERY_ACROSS_FILESYSTEM=1 l'avertissement disparaîtra.

c'est probablement parce que vous construisez une gemme à partir de la source et que la gemspec se transforme en git , comme beaucoup le font aujourd'hui. Ainsi, vous obtiendrez toujours l'avertissement fatal: Not a git repository (or any of the parent directories): .git mais l'adresse qui est pour un autre jour :)

ma réponse est une copie de: - comment GIT_DISCOVERY_ACROSS_FILESYSTEM problem when working with terminal and MacFusion

1
répondu BF4 2018-01-18 16:42:53

essayez un protocole différent. git: / / peut avoir des problèmes depuis votre pare-feu, par exemple; essayez un clone git avec https: à la place.

0
répondu Bruce 2014-03-19 16:27:48

mon problème était que je n'étais pas dans le bon répertoire git que je venais de cloner.

0
répondu M.C. 2015-11-19 18:37:39