Je me présente à Git en suivant ce tutoriel:
Tout fonctionne bien jusqu'à la partie 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 REPOAME par les noms corrects), je reçois l'erreur:
fatal: Not a git repository (or any of the parent directories): .git
Pouvez-vous m'aider à franchir cette étape?
git init
mais assurez-vous également qu'aucun de vos sous-répertoires n'a son propre.git
dossierRéponses:
Avez-vous initié un référentiel Git local, dans lequel cette télécommande est censée être ajoutée?
Votre répertoire local a-t-il un
.git
dossier?Essayez
git init
.la source
.git
dossier a disparu. Équivautgit init
à supprimer le dossier du référentiel, puisgit clone ...
. Tout ce que je dois faire est unpull
.git
dossier a disparu, vous pouvezgit init
recommencer pour en créer un nouveau. Vous devrez cependant rajouter une télécommande avant de pouvoir en tirer.jalal@klein:~/computer_vision/py-faster-rcnn$ git add -A fatal: Not a git repository: caffe-fast-rcnn/../.git/modules/caffe-fast-rcnn
Vous obtiendrez cette erreur si vous essayez d'utiliser une commande Git lorsque votre répertoire de travail actuel ne se trouve pas dans un référentiel Git. C'est parce que, par défaut, Git recherchera un
.git
répertoire de référentiel (à l'intérieur de la racine du projet?), Comme l'a souligné ma réponse à "Git ne montrera le journal que si je suis dans le répertoire du projet" :Vous devrez soit
cd
entrer dans le référentiel / la copie de travail, soit vous n'avez pas initialisé ou cloné un référentiel en premier lieu, auquel cas vous devez initialiser un référentiel dans le répertoire où vous souhaitez placer le référentiel:ou cloner un référentiel
la source
git init
. Après avoir lu votre réponse, je ce à plusieurs reprises sur les dépôts que je faisais clone, mais ne sont pas reconnus. Donc, il semble être sûr lorsqu'il est exécuté à partir d'une arborescence de répertoires qui est censée être ungit repository
, a tous les fichiers dans le répertoire git, mais prétend ne pas l'êtrefatal: Not a git repository (or any parent up to mount point
Mon problème était que pour certains hoquets avec mon système d'exploitation, toute commande sur mon référentiel local se terminait par "fatal: Pas un référentiel git (ou aucun des répertoires parents): .git", avec la commande fsck incluse.
Le problème était un fichier HEAD vide .
J'ai pu trouver le nom de la branche sur laquelle j'ai travaillé dans .git / refs / heads, puis j'ai fait ceci:
Ça a marché.
la source
Remarque: cela ne répond pas au problème commun, qui était le problème de l'OP, mais à un problème différent où ce message d'erreur peut apparaître. Je n'avais pas envie de faire une nouvelle question juste pour écrire cette réponse, dites-moi si je devrais le faire à la place: P
Je suis arrivé à la situation, probablement en raison de la corruption d'un crash que j'ai eu, que j'ai eu cette erreur même quand
.git
elle existait.Comme je n'avais rien qui devait vraiment être préservé, je suis juste allé de façon factice et j'ai ...
Mais ne fonctionne toujours pas, comme par exemple le
git log
retournefatal: bad default revision 'HEAD'
. Les télécommandes étaient là cependant, donc je l'ai faitgit fetch --all
et puis justegit reset --hard origin/master
pour me rendre à l'état où le repo était auparavant.Notez que s'il y a des modifications non validées, vous pouvez les voir avec
git status
,git diff
etc. Puis justegit diff yourfile > patch
avant d'exécuter la réinitialisation.Au moins pour moi reflog (
git reflog
) a complètement disparu. Par conséquent, si vous effectuez la réinitialisation et que vous vouliez éviter certains changements, je ne suis pas sûr que vous puissiez les récupérer après la réinitialisation. Donc, assurez-vous que toutes les modifications que vous ne pouvez pas perdre sont sauvegardées, en fin de compte, en copiant simplement le clone avant d'essayer.la source
git init
etgit fetch --all
a résolu le problème.Tapez simplement ce qui suit dans votre shell cmd ou git ou tout autre terminal:
la source
Ce problème m'est apparu après avoir déplacé l'emplacement d'un projet git sur le système de fichiers. Lorsque j'ai exécuté certaines commandes git, l'erreur s'est produite, par exemple:
J'ai trouvé dans
/home/rospasta/path_old/gitprojecta/.travis/.git
le chemin absolu de l'ancien emplacement du projet a été écrit. La mise à jour manuelle de ce chemin du nouvel emplacement a résolu le problème pour moi.Donc mon problème peut ou non être un problème git, mais HTH.
la source
Au cas où cela aiderait quelqu'un d'autre, j'ai reçu ce message d'erreur après avoir supprimé accidentellement .git / objects /
Le restaurer a résolu le problème.
la source
En ligne de commande / CLI, vous obtiendrez cette erreur si votre répertoire actuel n'est PAS le référentiel. Donc, vous devez d'abord CD dans le repo.
la source
Probablement trop tard mais une autre solution qui pourrait aider les futurs visiteurs. Supprimez d'abord l'ancien
.git
répertoire -Ensuite, initialisez à nouveau le dépôt git
la source
fatal
erreur même si le.git
dossier existe.Il semble que vous n'allez pas dans votre dossier spécifique. Par exemple, si je travaille sur un projet nommé bugsBunny et qu'il est enregistré dans le dossier d: / work: code, vous devez d'abord aller dans ce dossier en utilisant cd d: / work / code / bugsBunny, puis après cela vous pouvez continuer à utiliser vos commandes git.
la source
Même moi, j'ai eu le même problème. j'ai écrit un script shell qui sauvegardera tous mes codes dans mon dépôt git les jours ouvrables d'une semaine à 17h55 en utilisant crontab. en voyant les journaux de cron j'ai trouvé le problème mentionné ci-dessus.
le problème ci-dessus ne survient que lorsque vous essayez d'exécuter des commandes git à partir d'un répertoire non-gir (c'est-à-dire à partir d'un autre répertoire qui n'est pas la copie de travail). pour résoudre ce problème, ajoutez
-C <git dir>
dans la commande git que vous exécutez telle qu'ellegit status
seragit -C /dir/to/git status
etgit add -A
seragit -C /dir/to/git -A
.la source
Dans mon cas, j'ai utilisé Tortoise SVN et j'ai fait l'erreur d'utiliser également les fonctions Visual Studio GIT en même temps. Cela a fait que Visual Studio verrouille le fichier HEAD dans le dossier .git pour que ni VS ni Tortoise ne puissent accéder au dépôt et j'ai eu l'erreur "fatal: Pas un dépôt git ..." des deux applications.
Solution:
la source
Pour cela, vous devez entrer une commande qui manque dans les commandes bitbucket
Veuillez essayer git init.
la source
dans mon cas, j'ai eu le même problème pendant que j'essayais des commandes git (par exemple git status) en utilisant windows cmd. donc ce que je fais est après avoir installé git pour la fenêtre https://windows.github.com/ dans les variables environnementales, ajoutez le chemin de classe du git sur la variable "PATH". habituellement le git sera installé sur C: / user / "username" / appdata / local / git / bin ajoutez ceci sur le PATH dans la variable d'environnement
et encore une chose sur le cmd allez dans votre dépôt 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 que vous puissiez avoir toutes les commandes git
Merci
la source
Accédez à votre dossier source où le dépôt local est stocké, le mien par exemple se trouve dans c: / GitSource, cliquez avec le bouton droit dans le dossier, cliquez sur git bash ici, puis sur git status ....
la source
GIT_DIR doit être non défini:
unset GIT_DIR
la source
Dans mon cas, le fichier .git / HEAD était corrompu (ne contenait que des points). Je l'ai donc édité et remplacé son contenu par:
ref: refs/heads/master
et il a recommencé à fonctionner.
la source
Pour moi, cela était lié à une propriété mal formée sur mon
.git/
chemin.root
détenue.git/HEAD
et.git/index
empêchant l'jenkins
utilisateur d'exécuter le travail.la source
.git/HEAD
et.git/index
àroot:root
, je suis encore capable d'ajouter Distants sans erreur. Quand je change la propriété de l'ensemble du.git
répertoireroot
, je reçois une autre erreur:error: could not lock config file .git/config: Permission denied
.L'erreur ci-dessous semble que Gits n'a pas trouvé le fichier .git dans le répertoire actuel, ce qui génère un message d'erreur.
Par conséquent, passez du répertoire au répertoire du référentiel où vous avez extrait le code de git, puis exécutez cette commande.
la source
Dans mon cas, j'ai trouvé que git dans Windows était devenu sensible à la casse pour la lettre de lecteur à partir d'un certain point.
Après la mise à niveau de git binary dans windows, les commandes cli qui fonctionnaient auparavant s'arrêtaient. par exemple, le chemin dans le script était D : \ bla \ file.txt alors que la commande git acceptait uniquement d : \ bla \ file.txt
la source
git fonctionnait bien pour être et tout à coup, il a commencé à montrer ce
fatal: Not a git repository (or any of the parent directories): .git
message.Pour moi, je ne sais pas ce qui était corrompu dans le dossier .git, j'ai fait
git clone ** newfolder
et copié le dossier .git entier dans mon dossier corrompu / ancien où j'apportais des modifications avant que git ne commence à afficher un message d'erreur.Tout est revenu à la normale et git a également reconnu mes fichiers modifiés / non mis en scène.
la source
restaurer le
.git/ORIG_HEAD
et les autres fichiers repo racine .gitJ'ai eu cette erreur après la restauration de la sauvegarde, apparemment les fichiers contenus dans le répertoire racine .git ne sont pas parvenus à la cible, mais tous les sous-dossiers l'ont fait au début, je pensais que le dépôt était intact.
Je l'ai corrigé en restaurant les fichiers racine.
la source
J'ai eu ce problème avec le plugin Jenkins Git après des problèmes d'authentification avec GitLab. Jenkins signalait 'hudson.plugins.git.GitException: [...] stderr: GitLab: Le projet que vous recherchiez est introuvable. fatal: impossible de lire à partir du référentiel distant. '
Cependant, si je faisais un «git clone» ou «git fetch» directement depuis la boîte Jenkins (ligne de commande), cela fonctionnait sans problème.
Le problème a été résolu en supprimant l'intégralité du répertoire / workspace du dossier des travaux Jenkins pour ce travail particulier, par exemple
Vraisemblablement, le dossier local .git était périmé / corrompu?
la source
Cela peut également être dû à des autorisations. Vérifiez les autorisations du propriétaire / groupe et assurez-vous que vous disposez des autorisations adéquates pour accéder à ces données. Dans mon cas, je suis tombé sur cette erreur lors de l'exécution de "git status" dans un référentiel dont la propriété était définie sur root: root. L'exécution de "git status" en tant que root a résolu mon problème. Alternativement, si vous ne voulez pas que la propriété de l'utilisateur / groupe soit root: root, indiquez le référentiel à quelque chose auquel vous avez accès.
la source
J'ai eu ce problème et l'ai résolu en ajoutant un fichier README.md
la source
Dans mon cas, un plantage du système avait endommagé le fichier HEAD. Ce guide montre comment résoudre ce problème et d'autres problèmes que vous pouvez rencontrer.
https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html
la source