Git/Débogage

Un livre de Wikilivres.
< Git
Aller à : navigation, rechercher


cannot checkout in the current repository state[modifier | modifier le wikicode]

Il y a des fichiers créés qui doivent être supprimés ou archivés avant de pouvoir créer une nouvelle branche.

error: pathspec 'MaBranche1' did not match any file(s) known to git[modifier | modifier le wikicode]

Il faut récupérer les nouvelles branches du serveur avec :

git fetch

error: src refspec master does not match any[modifier | modifier le wikicode]

Il faut faire un git add * avec au moins un changement.

error: The branch 'ma-branche' is not a strict subset of your current HEAD.[modifier | modifier le wikicode]

Voir Git/Branches#Effacer_une_branche.

error: Your local changes to the following files would be overwritten by merge[modifier | modifier le wikicode]

Pour sauvegarder le travail local :

 git reset HEAD~1; git stash

Pour supprimer le travail local :

 git reset --hard

failed to create a new commit[modifier | modifier le wikicode]

Reconfigurer :

git config --global user.name "Your Name"

failed to create a pull request[modifier | modifier le wikicode]

Faire un "git push" avant, pour que le serveur connaisse la branche.

failed to push some refs to 'MonDepot1.git' hint: Updates were rejected because the tip of your current branch is behind[modifier | modifier le wikicode]

git push -f 'MonDepot1.git'

voire

git push -f origin

failed to sync this branch because due to unmerged files[modifier | modifier le wikicode]

Le dépôt distant possède certains fichiers qui sont plus à jour que le local, et vice-versa.

Si le message provient d'une interface graphique, essayer de la fermer et de lancer la synchro en shell, avec git push. Cela peut donner un message plus précis, ex :

remote: error: By default, updating the current branch in a non-bare repository is denied, because it will make the index and work tree inconsistent

Dans ce cas, on peut modifier le fichier "config" du serveur distant en ajoutant "bare=true".

Sinon, il faut créer une nouvelle branche pour faire un "pull request".

Sinon, copier les fichiers locaux dans un autre dossier (parent), et recloner avant de les replacer.

fatal: index-pack failed[modifier | modifier le wikicode]

git pull n'a pas été lancé depuis le répertoire du dépôt.

fatal: remote origin already exists[modifier | modifier le wikicode]

Pour redéfinir origin il faut le supprimer d'abord :

git remote rm origin

fatal: repository 'http://MonServeur/MonDepotEnLigne.git' not found[modifier | modifier le wikicode]

Si le dossier existe et est accessible en HTTP, mais que le clone, pull ou push ne le trouve pas :

  • Vérifier que l'utilisateur a les droits d'écriture (pour Windows avec IIS, c'est II_IUSRS).
  • Si le dépôt est sur le LAN, éviter HTTP : git clone file:////MonServeur/c$/inetpub/wwwroot/MonDepotEnLigne.git.

fatal: This operation must be run in a work tree[modifier | modifier le wikicode]

Lors d'un git add sur un dépôt initialisé avec -- bare, il faut soit uniquement lui soumettre ses modifications (sans possibilité de le cloner, avec git remote add origin[1]), soit définir un répertoire de branche avec --work-tree.

fatal: unable to access 'https://MonServeur/MonDepotEnLigne.git/': SSL certificate problem: self signed certificate[modifier | modifier le wikicode]

Lors du clonage, remplacer HTTPS par HTTP, ou bien désactiver la vérification du certificat SSL :

 git -c http.sslVerify=false clone https://MonServeur/MonDepotEnLigne.git

Please, commit your changes or stash them before you can merge[modifier | modifier le wikicode]

Précéder le pull d'un stash :

 git stash
 git pull

This file is empty[modifier | modifier le wikicode]

Si un fichier apparait comme modifié, mais que son diff affiche ce message, c'est que seules ses métadonnées ont changé (ex : date de mise à jour).

You must edit all merge conflicts and then mark them as resolved using git add[modifier | modifier le wikicode]

Survient lors d'un :

git rebase --continue

non précédé d'un :

git add -A

Bien sûr les fichiers en conflit doivent faire partie de cet ajout.

you need to resolve your current index first[modifier | modifier le wikicode]

git reset --merge

Your branch is behind 'xxx' by y commits, and can be fast-forwarded[modifier | modifier le wikicode]

Dans ce cas il peut être préférable d'effacer la veille branche du serveur pour ne garder que la locale, qui sera synchroniser sur le serveur ensuite.

Références[modifier | modifier le wikicode]