Gitflow: git flow start/finish meldet nicht bereitgestellte Änderungen, wenn es keine gibt, die festgeschrieben oder übertragen werden können

Erstellt am 23. Nov. 2010  ·  21Kommentare  ·  Quelle: nvie/gitflow

Manchmal, wenn git flow start oder beendet wird, meldet git flow:

fatal: Der Arbeitsbaum enthält nicht bereitgestellte Änderungen. Abbruch.

Es gibt jedoch nichts zu begehen und nichts zu/von der Fernbedienung zu ziehen oder zu drücken. Die Arbeitskopie ist aktuell.

Ich musste dieses Problem umgehen, indem ich falsche Änderungen an einer Datei "readme.txt" erstellt habe, um diese Schritte auszuführen, aber das ist mühsam. Gibt es einen anderen Befehl, mit dem ich sehen kann, was den Befehl git flow start/finish blockiert?

Hilfreichster Kommentar

Führen Sie einfach diese Befehle in Ihrem Terminal aus:

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

Bei mir funktioniert es gut ;)

Alle 21 Kommentare

Bitte geben Sie eine Wiederholung Ihrer Befehle an, die zu diesem Problem geführt haben. Das würde es definitiv einfacher machen, die Ursachen für dieses Problem zu analysieren. Versuchen Sie es so kurz wie möglich zu halten.

Dies kann passieren, wenn Sie Dateien löschen und nicht festschreiben. Überprüfen Sie die bereitgestellten Dateien mit git diff --cached und übergeben Sie sie.

Es erfolgt keine Ausgabe mit git diff --cached . Irgendeine Idee, wie man das Problem lösen kann?

ich habe ein gleiches problem. Findest du eine Entscheidung?

Die einfachste Lösung besteht darin, die Änderungen zu übernehmen, das Repository zu löschen und es erneut zu klonen.

Danke vielmals

Die meiste Zeit tritt der Fehler mit eGit auf Eclipse basierenden Ideen auf, wenn ich git bash oder tortoise git dieser Fehler nicht angezeigt

git reset --hard origin/master kann dein Leben retten!

Es ist jedoch sehr seltsam, Folgendes auszuführen:
Git-Status
und das Wiederholen des Befehls funktioniert in meiner Umgebung als Fix.:-)

wir haben den gleichen Effekt wie @georgezlatev , der unter MAC OS X mit Intellij Idea 13 arbeitet. Scheint, dass git-flow einen Commit nicht rechtzeitig registriert ;-)

Wird das behoben?

Ich erhalte diesen Fehler nur, wenn ich versuche, Flow Finish aus einem Unterverzeichnis zu erstellen. Es funktioniert aus dem Repos-Root-Verzeichnis.
Prost

Schätze, dass dieser Thread alt ist, aber ich bin sicher, dass andere diesen Fehler immer noch bekommen und diesen Thread finden werden. Ich verwende SourceTree und erhalte diesen Fehler. Ich habe es geschafft, dies zu beheben, indem ich mit der rechten Maustaste auf meinen Feature-Zweig geklickt und dann in Develop/Origin zusammengeführt habe. Ich war dann in der Lage, meine festgeschriebenen Änderungen zu pushen und den Feature-Branch zu löschen.

Die beste Option wäre, wenn die Skripte einen Git-Status ausführen, bevor sie versuchen, ein Feature zu beenden:

if output=$(git status --porcelain) && [ -z "$output" ]; dann
# beenden
anders
# normaler Fehler
fi

Ist dies auch ein Problem beim Abschließen eines Release-/Hotfix-Zweigs?

Jawohl. mit Intellj-Gitflow-Plugin und in Bash.
Wenn ich einen 'git Status' in der Bash ausführe und Feature/Release/Hotfix beende, funktioniert es.

In SourceTree erhielt ich diesen Fehler (ich habe versucht, ein aktuelles Feature zu beenden), als SourceTree zeigte, dass es keine Änderungen gab. Erst als ich zum Terminal wechselte und einen Git-Status durchführte, wurde eine Typänderung an einer Datei angezeigt, die nicht festgeschrieben war (weil sie nicht in SourceTree angezeigt wurde). Die Änderungen, die ich in dem Projekt vorgenommen hatte, waren ein Ersatz von zwei .framework-Dateien, so dass viele interne Änderungen an diesen .framework-Dateien vorgenommen wurden, wie es aussieht. Letztendlich war der Fehler von SourceTree tatsächlich richtig, aber ich bin enttäuscht, dass SourceTree mir diese Änderung nicht zeigen konnte, die mich daran hinderte, meinen Feature-Zweig zu beenden :(

Ich bestätige den Git-Status für mich, um zu sehen, was die Unstage-Änderungen sind

git reset --hard hilft mir in solchen Fällen

git reset --hard hat bei mir funktioniert, da git status keine nicht festgeschriebenen Änderungen anzeigte.

Führen Sie einfach diese Befehle in Ihrem Terminal aus:

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

Bei mir funktioniert es gut ;)

Ich hatte das gleiche Problem. Ich konnte den Feature-Branch festschreiben, aber nicht "Feature-Finish". Ich wechselte in das Stammverzeichnis und führte die Git-Flow-Funktion fertig aus, und es hat funktioniert.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen