Git: Unstages Änderungen auf einen neuen Branch verschieben

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich bin immer auf dem falschen Branch. Entweder arbeite ich auf master oder main an etwas, das auf einem fix- oder feature-Branch sein sollte. Oder ich bin auf dem letzten Branch, an dem ich gearbeitet habe, und hätte einen neuen Branch erstellen sollen. Nun ja. Es ist nie so schlimm. Im Grunde bedeutet es, ungespeicherte Änderungen auf einen neuen Branch zu verschieben. Das ist es, was ich normalerweise tue:

  • Alle geänderten, aber ungespeicherten Dateien stashen
  • Zurück zu master wechseln
  • Master pullen, um sicherzustellen, dass er auf dem neuesten Stand ist
  • Einen neuen Branch von master erstellen
  • Zum neuen Branch wechseln
  • Diese geänderten Dateien unstashen

Möchten Sie weitere Git-Tipps? Unsere „Advanced Git“-Reihe hat jede Menge davon.

Ungespeicherte Änderungen mit der Git CLI auf einen neuen Branch verschieben, so sieht das aus

So verschiebe ich im Allgemeinen ungespeicherte Änderungen in Git auf einen neuen Branch

git status
git stash --include-untracked
git checkout master
git pull
git branch content/sharis
git checkout content/sharis
git stash pop
Ja, ich committe jpgs direkt in Git.

Ungespeicherte Änderungen in Git Tower auf einen neuen Branch verschieben, so sieht das aus

Ich denke, man könnte theoretisch jeden dieser Schritte einzeln in Git Tower durchführen, um ungespeicherte Änderungen auf einen neuen Branch zu verschieben, aber der Trick ist, dass man den Branch erstellen und per Doppelklick dorthin wechseln kann.

Entschuldigung, ich mache das nur mit Git Tower, aber es gibt viele andere Git-GUIs, die wahrscheinlich ebenfalls clevere Wege haben, dies zu tun.

Aber es gibt einen neuen, schicken Weg!

Diese Methode, ungespeicherte Änderungen auf einen neuen Branch zu verschieben, ist zumindest für mich neu und war auch für Wes neu, als er das getwittert hat.

Cool. Das ist

git switch -c new-branch

Dokumentation dazu hier.