Gitflow: git flow start/finish signale les modifications non planifiées lorsqu'il n'y en a pas à valider ou à pousser

Créé le 23 nov. 2010  ·  21Commentaires  ·  Source: nvie/gitflow

Parfois, lors du démarrage ou de la fin de git flow, git flow signalera :

fatal : l'arborescence de travail contient des modifications non planifiées. Abandonner.

Il n'y a cependant rien à engager et rien à tirer ou pousser vers/depuis la télécommande. La copie de travail est à jour.

J'ai dû contourner ce problème en créant de faux commits de modifications dans un fichier "readme.txt" afin d'effectuer ces étapes, mais c'est fastidieux. Existe-t-il une autre commande que je peux utiliser pour voir ce qui bloque la commande git flow start/finish ?

Commentaire le plus utile

Effectuez simplement ces commandes dans votre terminal :

git status
git add .
git status
git commit -m 'Commit typechanges'

ça marche bien pour moi ;)

Tous les 21 commentaires

Veuillez fournir une rediffusion de vos commandes qui ont conduit à ce problème. Cela faciliterait certainement l'analyse des causes de ce problème. Essayez de le garder aussi court que possible.

Cela peut arriver lorsque vous supprimez des fichiers et que vous ne validez pas. Vérifiez les fichiers mis en scène avec git diff --cached et validez.

Il n'y a pas de sortie avec git diff --cached . Une idée, comment résoudre le problème ?

J'ai le même problème. Trouvez-vous une décision?

La solution la plus simple consiste à valider les modifications, à supprimer le référentiel et à le cloner à nouveau.

Merci beaucoup

La plupart du temps, le bug se produit avec eGit sur des idées basées sur Eclipse , lorsque j'utilise git bash ou tortoise git cette erreur n'apparaît pas

git reset --hard origin/master peut vous sauver la vie !

C'est très étrange cependant d'exécuter:
statut git
et répéter la commande fonctionne comme un correctif dans mon environnement. :-)

nous avons le même effet que @georgezlatev travaillant sur MAC OS X avec intellij Idea 13. Il semble que git-flow n'enregistre pas un commit en temps opportun ;-)

Cela sera-t-il corrigé ?

Je ne reçois cette erreur que lorsque j'essaie de git flow finish à partir d'un sous-répertoire. Cela fonctionne à partir du répertoire racine des dépôts.
Acclamations gars

Appréciez que ce fil est ancien, mais je suis sûr que d'autres auront toujours cette erreur et trouveront ce fil. J'utilise SourceTree et j'obtiens cette erreur. J'ai réussi à résoudre ce problème en cliquant avec le bouton droit sur ma branche de fonctionnalité, puis en fusionnant avec develop/origin. J'ai ensuite pu pousser mes modifications validées et supprimer la branche de fonctionnalité.

la meilleure option serait que les scripts exécutent un statut git avant d'essayer de terminer une fonctionnalité :

if output=$(git status --porcelain) && [ -z "$output" ]; alors
# terminer
autre
# erreur normale
Fi

Est-ce également un problème lors de la fin d'une branche de version/correctif ?

Oui. avec le plugin Intellj-Gitflow et dans Bash.
lorsque je lance un "statut git" dans bash et termine la fonctionnalité/la version/le correctif, cela fonctionne.

Dans SourceTree, j'obtenais cette erreur (j'essayais de terminer une fonctionnalité actuelle) lorsque SourceTree montrait qu'il n'y avait aucun changement. Ce n'est que lorsque je suis passé au terminal et que j'ai fait un état git, qu'il a montré un changement de type dans un fichier qui n'avait pas été validé (car il n'apparaissait pas dans SourceTree). Les modifications que j'avais apportées au projet étaient le remplacement de deux fichiers .framework, de sorte que de nombreuses modifications internes apportées à ces fichiers .framework se sont produites en raison de leur apparence. En fin de compte, l'erreur de SourceTree était en fait correcte, mais je suis déçu que SourceTree n'ait pas pu me montrer ce changement qui m'empêchait de terminer ma branche de fonctionnalité :(

Je confirme que le statut git m'aide à voir quels sont les changements unstages

git reset --hard fonctionne pour moi dans de tels cas

git reset --hard a fonctionné pour moi car git status n'affichait aucune modification non validée.

Effectuez simplement ces commandes dans votre terminal :

git status
git add .
git status
git commit -m 'Commit typechanges'

ça marche bien pour moi ;)

J'ai eu le même problème. J'ai pu valider la branche de fonctionnalité mais ne pas faire de "fin de fonctionnalité". Je suis passé au répertoire racine, j'ai exécuté la fonction de finition de git flow, et ça a marché.

Cette page vous a été utile?
0 / 5 - 0 notes