web-dev-qa-db-fra.com

Dépannage du répertoire .git égaré (rien à commettre)

J'ai commencé à recevoir ce message. Peu importe ce que j'édite et tente de commettre, cela signifie qu'il n'y a rien à commettre. On dirait que git ne voit pas mon répertoire de travail et ne regarde pas ailleurs. 

Si je lance git status, le résultat est le même:

nothing to commit (working directory clean)

Si je crée une nouvelle branche et édite quelque chose, la même chose se produit. Cela a commencé quand j'ai eu besoin de réparer les conflits de fusion. Lorsque je voulais fusionner une branche avec une branche principale, je devais la corriger manuellement et j'avais besoin que mes fichiers aient exactement l'apparence de cette branche remplaçant la branche principale. J'ai donc ajouté ces fichiers et cela m'a permis de le fusionner. Mais alors, peu importe ce que je change, cela se voit car il n'y a rien à commettre. 

Que pourrait-on faire ici?

45
Andrius

Trouvé ce qui n'allait pas. Je ne comprends pas comment, mais le chemin du répertoire .git a été modifié d'une manière ou d'une autre en un autre chemin que celui dans lequel je travaillais. Ainsi, tout ce que j'ai changé n'a pas été vérifié, car git était à un autre endroit. Je l'ai remarqué quand je l'ai réinitialisé et il a été montré qu'il réinitialisait un répertoire entièrement différent. Quand je cd .. de mon répertoire actuel et cd à y revenir puis à réinitialiser à nouveau, il est retourné dans le répertoire .git correct et a commencé à voir mes modifications.

20
Andrius

Pour les personnes travaillant dans des projets open source publics, si vous rencontrez ce problème, il est fort probable que le fichier que vous modifiez soit exclu du référentiel git à l'aide de .gitignore. J'ai eu le même comportement et après des heures, j'ai constaté que le fichier que je faisais est modifié dans .gitignore car il s'agit d'un fichier de paramètres et que chacun aura sa propre version locale.

7
palerdot

Cela doit être dû au fait que vous avez réinitialisé git par erreur dans le même répertoire. Supprimez le dossier .git à l’aide de la commande suivante Accédez au référentiel que vous souhaitez téléchargerouvrez le terminal, puis utilisez les commandes suivantes.

  1. supprimer le .git repository Sudo rm -r .git
  2. Maintenant, répétez à nouveau depuis l’initialisation du dépôt Git en utilisant git init
  3. alors git commit -m "first commit"
  4. git remote add Origin https://github.com/user_name/repo
  5. git Push -u Origin master Après que vous entrez le nom d'utilisateur et mot de passe et vous êtes bon pour aller
5
Mahi

Vérifiez l'emplacement si c'est le bon emplacement du projet git.

3
Gank

J'ai eu le même problème. La branche sur laquelle je travaillais ne faisait pas l'objet d'un suivi. Le correctif était:

git Push orgin

Cela l'a corrigé temporairement. Pour effectuer les modifications avec pertinence, je: 

git config Push.default tracking
2
Jon Kennedy

Pour ceux qui rencontraient ce problème, la solution la plus simple que j'ai trouvée consistait simplement à "cloner" votre dépôt et à supprimer l'ancien répertoire. Cela devrait configurer votre chemin correctement par défaut.

2
kaid

Dans mon cas, j'avais précédemment initialisé un répertoire git dans lequel je cherchais à en créer un. Je viens de supprimer tous les anciens fichiers et je suis parti de zéro.

2
Leviathan

Sur branche master Problème déjà commis rien à commettre (répertoire de travail vide) s’il est confronté à ce problème, il suffit d’utiliser la commande suivante 

git Push -u Origin master

ou

git reset
git add .
git commit -m "your commit message"
git Push -u Origin master
1
Anuj

Voici une autre tournure à ce sujet. Mon fichier .gitignore semblait avoir été modifié/corrompu de sorte qu'un fichier que j'ignorais 

par exemple. 

/Project/Folder/StyleCop.cache

s'est changé en ceci (Notez maintenant 2 lignes séparées)

/Project/Folder
StyleCop.cache

alors git ignorait tous les fichiers que j'avais ajoutés au projet et ci-dessous.

Très bizarre, je ne savais pas comment le fichier .gitignore avait été modifié, mais cela m'a pris du temps à repérer. Une fois corrigés, les centaines de fichiers css et js que j’ai ajoutés sont entrés.

1
richardb

Allez dans le dossier de votre espace de travail

  1. trouver le dossier .git
  2. supprimer le dossier et son contenu
  3. utilisez la commande git init pour initialiser.

Maintenant, il va montrer ce que tous les fichiers peuvent être validés.

1
Gerald Amalraj

essayez de supprimer l'Origine d'abord avant de l'ajouter à nouveau

git remote rm Origin
git remote add Origin https://github.com/abc/xyz.git
0
khalidh

J'ai rencontré le même problème avec git lorsque je travaillais avec CLI angulaire 6.1.2. Angular CLI 6.1.2 initialise automatiquement le dossier .git lorsque vous créez un nouveau projet angulaire à l'aide de Angular CLI. Ainsi, lorsque j'ai essayé le statut git, il ne détectait pas tout le répertoire de travail. 

Je viens de supprimer le dossier .git caché de mon répertoire de travail angulaire, puis d'initialiser à nouveau le dépôt git avec git init. Et maintenant, je peux voir tous mes fichiers avec le statut git.

0
Ankit

J'ai juste eu ce problème moi-même parce que j'étais dans le mauvais dossier. J'étais imbriqué 1 niveau, donc il n'y avait aucun fichier git à trouver. 

Lorsque j'ai exécuté cd .. dans le bon répertoire, j'ai pu valider, comme prévu.

0
pinkeangstio

Rencontré cela en utilisant SourceTree , corrigé par 

  1. Commencez par stocker vos modifications actuelles non validées. 
  2. Appliquez/libérez les mêmes modifications à l’aide de Sourcetree. 

Travaillé comme un charme. 

0
rustylepord

si .git est déjà là dans votre répertoire, alors suivez:

  1. rm -rf .git/
  2. git init
  3. git remote add Origin http://xyzremotedir/xyzgitproject.git
  4. git commit -m "do commit"
  5. git Push Origin master
0
anshu agarwal

N'essayez pas de valider/d'ajouter des fichiers. Il suffit d’exécuter les 2 commandes suivantes (: 

 git remote add Origine http: //xyzremotedir/xyzgitproject.git
 Maître git Push Origin 
0
Walk