WARNUNG: Nicht für Git-Neulinge.
Das kommt in meinem Arbeitsablauf so oft vor, dass ich schon fast versucht habe, einen neuen Git-Befehl dafür zu schreiben. Der übliche git stash
fließen ist der Weg zum Erfolg sondern ist ein wenig unangenehm. Normalerweise mache ich zuerst eine neue Übertragung, da wenn ich mir die Änderungen angesehen habe, sind alle Informationen noch frisch in meinem Gedächtnis und es ist besser, einfach anzufangen git commit
Was ich gefunden habe (in der Regel ein Bugfix, der zu Master gehört und den ich bei der Arbeit an einem Feature-Zweig entdecke), bringe ich gleich mit.
Es ist auch hilfreich - wenn Sie häufig in solche Situationen geraten -, wenn Sie ein anderes Arbeitsverzeichnis neben Ihrer aktuellen, die immer die master
Zweigstelle überprüft.
Ich gehe also folgendermaßen vor:
git commit
die Änderungen sofort mit einer guten Commit-Nachricht.
git reset HEAD~1
um die Übertragung vom aktuellen Zweig rückgängig zu machen.
- (optional) die Arbeit an der Funktion fortsetzen.
Manchmal später (asynchron), oder sofort in einem anderen Terminalfenster:
cd my-project-master
ein weiterer WD, der die gleiche .git
git reflog
um die Fehlerbehebung zu finden, die ich gerade vorgenommen habe.
git cherry-pick SHA1
der Übergabe.
Optional (immer noch asynchron) können Sie dann Ihren Feature-Zweig neu basen (oder zusammenführen), um den Bugfix zu erhalten, normalerweise wenn Sie kurz davor sind, einen PR einzureichen und Ihren Feature-Zweig und WD bereits bereinigt haben:
cd my-project
das ist die wichtigste WD, an der ich arbeite.
git rebase master
um die Fehlerbehebungen zu erhalten.
Auf diese Weise kann ich ungestört an dem Feature weiterarbeiten und muss mich nicht um git stash
-irgendetwas zu tun oder meine WD vor einer Veranstaltung zu reinigen. git checkout
(und dann die Überprüfung der Funktion Zweig wieder aus.) und haben immer noch alle meine Bugfixes geht an master
statt in meinem Funktionszweig versteckt.
IMO git stash
y git checkout
ist eine echte PIA, wenn man gerade an einem großen Feature arbeitet.
3 Stimmen
Es gibt ein tolles Git-Tutorial rechts aquí über SO. Es ist eine Art Zentrale für alle Git-Fragen auf Stack Overflow.
0 Stimmen
Dieser Link existiert dank der StackOverflow-Magie in der "verlinkten" Gruppe von Fragen auf der rechten Seite, aber ich denke, er verdient einen Kommentar-Link: siehe auch Verschieben vorhandener, nicht gebundener Arbeiten in einen neuen Zweig in Git .