2015-05-14 6 views
5

Für mein Projekt verwende ich git-flow. Ich habe master und develop Zweig synchronisiert mit Remote-Repo der Regel für alle Änderungen, die ich einen feature Zweig zu erstellen, um die Dateien bearbeiten, die Änderungen auf dem feature Zweig begehen und den Zweig mit einer Zusammenführung in develop schließen.Move entwickeln Änderungen an einem neuen Feature-Zweig

Aber manchmal vergesse ich, einen feature Zweig zu erstellen, und ich bearbeite Dateien direkt in develop. Wie kann ich die Canges in einen neuen Zweig feature verschieben?

Antwort

9

Wenn Sie bereits gemacht das zu develop begehen, und Ihre Geschichte sieht wie folgt aus:

A---B---C---D develop 

Hier ist C das letzte korrekte Festschreiben unter develop, und sollte einem Feature-Zweig zugewiesen worden sein. Gehen Sie folgendermaßen vor (während auf develop):

git branch feature  # creates feature branch pointing at D 
git reset --hard C  # or HEAD^, HEAD~1, etc - resets develop back to C 

Dies führt zu:

A---B---C develop 
     \ 
      D feature 

Dies wird auch gut funktionieren, wenn Sie mehr als ein Commit gemacht haben, wie Sie ersetzen je nachdem, was Referenz begehen Sie müssen develop zurück in den zweiten Befehl zurücksetzen.

1

Angenommen, Sie bereits diese Änderungen lokal engagiert und haben noch nicht gedrückt, können Sie ein Soft-Reset verwenden:

git reset --soft HEAD~1 
git checkout feature 
git commit 

einfach die 1 in git reset --soft HEAD~1 mit der Zahl der Commits ersetzen Sie Soft-Reset mögen.

1

Sie git stash für die Umsetzung der Änderungen auf einen neuen Zweig verwenden, git book

So in Master sehen, nachdem Sie die Änderungen vorgenommen (aber hinzuzufügen oder zu begehen sie nicht) Sie tun könnten:

git stash //stashes the changes 
git stash branch featurebranchname //creates a new branch and applies the stash to it 
+1

Aus Ihrer Antwort geht nicht hervor, dass Sie 'git stash' ausführen müssen, bevor Sie den Befehl' git stash branch' ausführen. –

+1

Vielen Dank, ich habe meine Antwort überprüft und bearbeitet. – wmk

-2

Sie können die Änderungen an einer neuen Verzweigung auswählen.