Wie fixiere ich mich an den falschen Git-Zweig?
Ich habe gerade eine ganz gute Verpflichtung, die falschen Zweig.
Wie Mach ich das rückgängig die letzten commit in meinem master-branch und dann nehmen Sie die gleichen änderungen und Sie in meine upgrade-Zweig?
InformationsquelleAutor der Frage mikewilliamson | 2010-05-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Falls Sie es noch nicht, schob Sie Ihre änderungen, können Sie auch ein soft-reset:
Dieser wieder die commit -, sondern das verpflichtet, änderungen in Ihren index. Vorausgesetzt die äste sind relativ up-to-date im Hinblick auf jede andere, git können Sie einen Kasse in die andere Filiale, worauf können Sie einfach Begehen:
Der Nachteil ist, dass Sie brauchen, um re-enter your commit message.
InformationsquelleAutor der Antwort Blair Holloway
Wenn Sie über eine saubere (un-modifiziert) Arbeitskopie
Einen commit, rollback (stellen Sie sicher, dass Sie beachten Sie die commit-hash für den nächsten Schritt):
Ziehen, dass commit in einen anderen branch:
Wenn Sie sich geändert haben oder nicht ändert
Beachten Sie auch, dass
git reset --hard
wird töten, die nicht verfolgte und modifiziert änderungendie Sie haben könnten, also, wenn Sie diejenigen, die Sie vielleicht lieber:InformationsquelleAutor der Antwort Michael Mrozek
4 Jahre zu spät auf das Thema, aber vielleicht jemandem helfen zu können.
Wenn Sie vergessen haben, erstellen Sie einen neuen Zweig, bevor Sie zu Begehen und begangen alle auf master, egal wie viele commits, die du hast, folgende Vorgehensweise einfacher ist:
Nun haben Sie Ihre master-branch entspricht
origin/master
und alle neuen commits aufmy_feature
. Beachten Sie, dassmy_feature
ist eine örtliche Niederlassung, nicht nur eine Fernbedienung.InformationsquelleAutor der Antwort fotanus
Wenn Sie schon schob Sie Ihre änderungen, müssen Sie zu zwingen, Ihren nächsten push nach dem zurücksetzen den KOPF.
Warnung: ein hard-reset wird rückgängig gemacht, alle nicht ausgeführten änderungen in Ihrer Arbeitskopie, wobei eine Kraft (push) komplett zu überschreiben, den Zustand der remote-branch mit dem aktuellen Stand des Ortsverbandes.
Nur für den Fall, unter Windows (mit Hilfe der Windows-Kommandozeile, nicht Bash) ist es eigentlich vier
^^^^
statt, so ist esInformationsquelleAutor der Antwort Igor Zevaka
Ich habe vor kurzem die gleiche Sache, wo ich versehentlich begangen, eine Veränderung zu meistern, wenn ich soll, verpflichtet haben, zum anderen-Zweig. Aber ich habe nicht alles schieben.
Wenn Sie nur engagiert, um den falschen Zweig, und haben sich nicht verändert da nichts, und nicht geschoben, um die repo, dann können Sie Folgendes tun:
HINWEIS: im obigen Beispiel, war ich Zurückspulen 1 commit mit git reset HEAD~1 ist. Aber wenn Sie wollte, Rücklauf n commits, dann können Sie git reset HEAD~n.
Auch, wenn Sie am Ende der Begehung an die falsche Filiale, und auch am Ende einige schreiben mehr code, bevor Sie realisieren, dass Sie für den falschen Zweig, dann können Sie mit git stash zu speichern Sie Ihre in-progress-Arbeit:
HINWEIS: ich habe diese website als Referenz
https://www.clearvision-cm.com/blog/what-to-do-when-you-commit-to-the-wrong-git-branch/
InformationsquelleAutor der Antwort Ali Mizan
Also, wenn Ihr Szenario ist, dass Sie begangen haben, um
master
aber bedeutete, sich zu verpflichten, dieanother-branch
(die kann oder nicht kann, nicht bereits vorhanden ist), aber Sie haben nicht geschoben, doch, das ist ganz einfach zu lösen.Nun alle deine commits zu
master
aufanother-branch
.Bezogen mit Liebe aus: http://haacked.com/archive/2015/06/29/git-migrate/
InformationsquelleAutor der Antwort Lorcan O'Neill
Wenn die Niederlassung die Sie wollten, um Ihre änderungen zu bereits vorhanden ist (Zweig entwickelnzum Beispiel), Folgen Sie den Anweisungen fotanus unten, dann:
Und natürlich könnten Sie verwenden tempbranch oder jede andere Branche einen Namen anstelle my_featurewenn Sie wollten.
Auch, falls zutreffend, die Verzögerung der stash pop (anwenden), nachdem Sie zusammengeführt haben, an Ihrem Ziel-branch.
InformationsquelleAutor der Antwort fbicknel
Wenn du dieses Thema, und Sie Visual Studio haben, können Sie Folgendes tun:
Rechten Maustaste auf den Zweig, und wählen Sie
View History
:Rechts-klicken Sie auf übernehmen, die Sie wollen, um zurück zu gehen. Und Wiederherstellen oder Zurücksetzen, wie gebraucht.
InformationsquelleAutor der Antwort Trevor