542 votes

Git : Réception de "fatal : Not a git repository" lors de la tentative d'ajout à distance d'un repo Git

Je m'initie à Git en suivant ce tutoriel :

Tout fonctionne bien jusqu'au moment où le dépôt est ajouté à ma machine locale :

git remote add nfsn ssh://USERNAME@NFSNSERVER/home/private/git/REPONAME.git

(Après avoir remplacé USERNAME, NFSNSERVER et REPONAME par les noms corrects) Je reçois l'erreur suivante :

fatal: Not a git repository (or any of the parent directories): .git

Pouvez-vous m'aider à passer cette étape ?

8 votes

git init mais assurez-vous aussi qu'aucun de vos sous-répertoires n'a son propre .git dossier

1117voto

Assaf Lavie Points 20181

Avez-vous mis en place un dépôt Git local, dans lequel cette télécommande est censée être ajoutée ?

Votre répertoire local comporte-t-il un .git dossier ?

Essayez git init .

3 votes

J'avais déjà fait cette étape, mais j'ai dû la refaire après avoir configuré mon compte de dépôt de moteurs en installant le dépôt de moteurs.

3 votes

Mon .git Le dossier a disparu. Est-ce que git init la même chose que de supprimer le dossier du référentiel, puis git clone ... . Tout ce dont j'ai besoin, c'est d'un pull

3 votes

@FranciscoCorralesMorales si votre .git a disparu, vous pouvez exécuter git init à nouveau pour en faire un nouveau. Vous devrez cependant ajouter à nouveau une télécommande avant de pouvoir l'utiliser.

99voto

Cupcake Points 22154

Vous obtiendrez cette erreur si vous essayez d'utiliser une commande Git alors que votre répertoire de travail actuel ne se trouve pas dans un dépôt Git. Cela est dû au fait que, par défaut, Git cherchera un répertoire .git (à l'intérieur de la racine du projet ?), comme l'a fait remarquer la personne suivante ma réponse à "Git n'affiche pas les logs si je ne suis pas dans le répertoire du projet". :

Selon le documentation officielle du noyau Linux sur Git , GIT_DIR est [une variable d'environnement] configurée pour rechercher une .git (dans le répertoire courant de travail actuel) par défaut :

Si le GIT_DIR est définie, elle spécifie un chemin à utiliser à la place du chemin par défaut. .git pour la base de la dépôt.

Vous devrez soit cd dans le dépôt/la copie de travail, ou vous n'avez pas initialisé ou cloné un dépôt en premier lieu, auquel cas vous devez initialiser un dépôt dans le répertoire où vous voulez placer le dépôt :

git init

ou cloner un référentiel

git clone <remote-url>
cd <repository>

14 votes

+1 pour la mention de GIT_DIR. Dans les hooks d'un repo nu, GIT_DIR est mis à '.' au lieu de '.git'.

0 votes

+1 pour git init . Après avoir lu votre réponse, j'ai utilisé cette méthode à plusieurs reprises sur des dépôts que je a fait clone, mais n'ont pas été reconnus. Ainsi, il semble être sûr lorsqu'il est exécuté à partir d'une arborescence de répertoires qui est censée être un git repository a tous les fichiers dans le répertoire git, mais prétend ne pas l'être. fatal: Not a git repository (or any parent up to mount point

0 votes

@commonpike en effet : mon hook n'a pas fonctionné à cause de cela, je voulais tirer un autre repo quand quelque chose était poussé vers mon repo nu. J'ai dû définir GIT_DIR à ".../.git".

4voto

sid smith Points 58

En ligne de commande/CLI, vous obtiendrez cette erreur si votre répertoire courant n'est PAS le référentiel. Vous devez donc d'abord vous connecter au dépôt.

4voto

Adrian Rosca Points 142

Dans mon cas, j'ai utilisé Tortoise SVN et j'ai fait l'erreur d'utiliser également les fonctions GIT de Visual Studio en même temps. Cela a fait que Visual Studio a verrouillé le fichier HEAD à l'intérieur du dossier .git de sorte que ni VS ni Tortoise ne pouvait accéder au repo et j'ai obtenu l'erreur "fatal : Not a git repo..." des deux applications.

Solution :

  1. Allez dans le dossier .git et renommez "HEAD.lock" en "HEAD".
  2. Décidez pour une application d'administration GIT et ne touchez pas à l'autre.

2voto

keyo Points 1

J'ai eu le même problème lorsque j'ai essayé n'importe quelle commande git (par exemple git status) en utilisant Windows cmd. Donc, ce que j'ai fait est après avoir installé git pour Windows. https://Windows.github.com/ dans les variables d'environnement, ajoutez le chemin de classe de git dans la variable "PATH". habituellement, git sera installé sur C:/user/"username"/appdata/local/git/bin ajoutez ceci au PATH dans la variable environnementale

et une dernière chose sur le cmd allez à votre dépôt git ou cd à l'endroit où votre clone est sur votre fenêtre généralement ils seront stockés sur les documents sous github cd Document/Github/votreprojet après cela vous pouvez avoir n'importe quelles commandes git.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X