Machen Sie ein git-Zweig gleich wieder Meister
Kurze version
Was ist der einfachste Weg, um eine Filiale gleich master
wieder verwirft alle Unterschiede?
Bis jetzt habe ich einfach verwendet git branch -D wip
, gefolgt von git checkout -b wip
, aber das scheint ein bisschen dumm.
Motivation
Habe ich oft ein wip
Zweig neben meinem master
Zweig, für 'work in progress'. Manchmal ist die Arbeit auf solch einem Zweig bekommt 'hinter sich gelassen', und wenn ich es entdecken, ich finde, dass ich nicht mehr wollen. Diese Wiederentdeckung oft passiert, wenn ich verwenden möchten, die Filiale zu speichern, einen neuen Satz von "work in progress" und ich finde, ich will einfach verwerfen Unterschiede mit master
, so die neue "work in progress" passt auf der Oberseite. Herauszufinden, die Unterschiede ist nicht der Mühe Wert: die oben beschriebene Lösung funktioniert gut für mich. Jede bessere Lösungen für diesen Anwendungsfall?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wirklich wollen, um wegblasen den vorigen Zweig mit diesem Namen, und erstellen Sie eine neue, die Sie konnte einfach:
Über die Hauptstadt-version, anstatt
-b
verursachen git zu wechseln, um die benannten Zweig, und setzen Sie es auf die neue Ausgangspunkt benannt, als das Letzte argument. Wenn Sie derzeit auf der gewünschten Ausgangspunkt könnten Sie weglassen, das Letzte argument (master
hier), wird es standardmäßig verwendetHEAD
.versuchen, diese in Ihrer Filiale :
Damit wird Ihre Filiale identisch master, entfernen Sie alle commits, die du getan haben, und entsorgen Sie alle Dateien in der staging area.
wip
Zweig, weil die Ergebnisse inerror: Your local changes to the following files would be overwritten by checkout:
. Natürlich, ich richte meine Arbeit aufmaster
, dann Kassewip
, danngit reset --hard master
, dann Kassemaster
undreset --hard HEAD^
, aber das ist auch nicht viel kürzer als die Zerstörung der Niederlassung und ein neues zu erstellen.git stash
zu save Ihre änderungen, danngit stash pop
um Sie wiederherzustellen.wip
bedeutet: ich schaffte es nicht dies zu beenden, aber nicht klar vorher. Aber point taken: vielleicht sollte ich einfach meinen workflow.