"Fatal: pas un référentiel git (ou l'un des répertoires parents)" à partir de l'état de git

99

Cette commande fonctionne pour obtenir les fichiers et les compiler:

git clone a-valid-git-url

par exemple:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

Cependant, git status(ou toute autre commande git) donne alors l' fatal: Not a git repository (or any of the parent directories)erreur ci-dessus .

Qu'est-ce que je fais mal?

Kevin Kostlan
la source
6
Le code extrait se trouve dans le liggghtsrépertoire.
Eugen Constantin Dinca

Réponses:

161

Vous devez d'abord cd dans le répertoire:

$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Cloning into 'liggghts'...
remote: Counting objects: 3005, done.
remote: Compressing objects: 100% (2141/2141), done.
remote: Total 3005 (delta 1052), reused 2714 (delta 827)
Receiving objects: 100% (3005/3005), 23.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1052/1052), done.

$ git status
fatal: Not a git repository (or any of the parent directories): .git
$ cd liggghts/
$ git status
# On branch master
nothing to commit (working directory clean)
Michael Durrant
la source
1
Vous obtenez également cette erreur lorsque git utilise son propre répertoire .git. J'ai fait un tirage et j'ai vu le message "Empaquetage automatique du référentiel en arrière-plan pour des performances optimales." J'ai ensuite essayé de faire d'autres opérations, ne recevant que le message d'erreur d'OP. Mon dossier .git est toujours là, mais git l'a en quelque sorte corrompu. L'exécution a git initrésolu le problème.
Cerin
Que je suis bête. Essayer le statut de git avant d'aller dans le répertoire :) Merci beaucoup.
webHasan
12

Je viens de recevoir ce message et il y a une réponse très simple avant d'essayer les autres. Dans le répertoire parent, saisissezgit init

Cela initialisera le répertoire pour git. Ensuite, git addet git commitdevrait fonctionner.

Facture
la source
Avant ou après le clone? Cela créerait-il un nouveau repo git? Comment cela fonctionnerait-il avec le dépôt git existant et l'historique qui a été cloné? Qu'arrive-t-il au remoteréglage d' origine sous cet arrangement?
Michael Durrant
11

Dans mon cas, était une variable d'environnement GIT_DIR , que j'ai ajoutée pour accéder plus rapidement.

Cela a également cassé tous mes dépôts locaux dans SourceTree :(

lucasvc
la source
5

Parfois, c'est à cause de ssh. Vous pouvez donc utiliser ceci:

git clone https://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

au lieu de:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Umit Kaya
la source
J'obtenais l'erreur en essayant simplement de cloner un dépôt sur ma machine locale. Je suis passé de https: // À git: // et il a été cloné avec succès. Merci de m'avoir pointé dans la bonne direction.
Scott Wade le
4

dans mon cas, j'ai eu le même problème pendant que j'essayais des commandes git (par exemple, l'état de git) en utilisant Windows cmd. donc ce que je fais est après avoir installé git pour window https://windows.github.com/ dans les variables d'environnement, ajoutez le chemin de classe du git sur la variable "PATH". généralement le git sera installé sur l' C:/user/"username"/appdata/local/git/binajout de ceci sur le PATH dans la variable d'environnement

et encore une chose sur la cmd, allez dans votre référentiel git ou cd où votre clone se trouve sur votre fenêtre, généralement ils seront stockés sur les documents sous github

cd Document/Github/yourproject

après cela, vous pouvez avoir toutes les commandes git

keyo
la source
3

J'ai eu un autre problème. J'étais dans un répertoire git, mais j'y suis arrivé via un lien symbolique. J'ai dû aller directement dans le répertoire (c'est-à-dire pas via le lien symbolique), puis cela a bien fonctionné.

Frank Conry
la source
3
git clone https://github.com/klevamane/projone.git
Cloning into 'projone'...
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 81 (delta 13), reused 78 (delta 13), pack-reused 0
Unpacking objects: 100% (81/81), done.

vous devez "cd projone"

alors vous pouvez vérifier le statut.


Une des raisons pour lesquelles cela a été difficile à remarquer au début, c'est parce que vous avez déjà créé un dossier avec le même nom sur votre ordinateur et c'est là que vous avez cloné le projet, vous devez donc à nouveau changer de répertoire


Onengiye Richard
la source
3

Cette erreur a été résolue lorsque j'ai essayé d'initialiser git à l'aide de git init . Ça a marché

Roopal
la source
2

Dans mon cas, le référentiel d'origine était simple.

Donc, j'ai dû taper (dans Windows):

mkdir   dest
cd dest
git init
git remote add origin a\valid\yet\bare\repository
git pull origin master

Pour vérifier si un référentiel est un simple:

git rev-parse --is-bare-repository 
Madlozoz
la source
1

Simplement, après avoir cloné le dépôt, vous devez CD (changer votre répertoire actuel) dans le nouveau dossier cloné

git clone https://[email protected]/Repo_Name.git

cd Repo_Name
Abdallah Okasha
la source
1

Si Existing Project Solution est prévu de passer sur TSF dans VS Code:

ouvrez le Terminal et exécutez les commandes suivantes:

  1. Initialiser git dans ce dossier (répertoire racine)

    git init

  2. Ajouter Git

    git add .

  3. Liez votre TSf / Git à ce projet - {url} remplacez par votre adresse git

    git remote add origin {url}

  4. Validez ces changements:

    git commit -m "initial commit"

  5. Push - J'ai poussé le code en tant que version1, vous pouvez utiliser n'importe quel nom pour votre branche

    git push origin HEAD:Version1

Khushboo Tahir
la source
0

J'ai soudainement eu une erreur comme dans n'importe quel répertoire où j'ai essayé d'exécuter une commande git à partir de:

fatal: Not a git repository: /Users/me/Desktop/../../.git/modules/some-submodule

Pour moi, il s'est avéré que j'avais un fichier caché .gitsur mon bureau avec le contenu:

gitdir: ../../.git/modules/some-module

Supprimé ce fichier et corrigé.

Mikael Finstad
la source
0

J'ai le même problème de mon réseau de bureau. J'utilise cette commande mais ca marche pas pour moi url, donc comme ceci: avant $ git clone https://gitlab.com/omsharma/Resume.git

Après avoir utilisé cette URL: $ git clone https://[email protected]/omsharma/Resume.git essayez-la.

Om Prakash Sharma
la source