Mit Stashing können Sie eine Kopie der Änderungen behalten, die Sie an einem Repository vorgenommen haben, ohne ein Commit erstellen zu müssen.
Es ist nützlich, wenn Sie den Kontext wechseln, insbesondere wenn Sie zwischen verschiedenen Fehlern oder Aufgaben im selben Projekt hin und her wechseln.
Grundlegender Betrieb von Git Stash
Du kannst Verwenden Sie git stash, um Ihren Arbeitsablauf zu vereinfachen beim Umgang mit parallelen Arbeitsfeldern. Stellen Sie sich vor, Sie arbeiten an einer lang andauernden Aufgabe mit Änderungen in Ihrer lokalen Arbeitskopie. Dann steht etwas Dringendes an, an dem Sie sofort arbeiten müssen.
Der Standard-Workflow für das Stashing von Änderungen ist:
- Nehmen Sie lokale Änderungen vor
- Verstauen Sie lokale Änderungen
- Wenden Sie gespeicherte Änderungen erneut an
Wenn Sie Änderungen mit der git stash [schieben] Befehl wird git auf HEAD zurückgesetzt. Sie können dann an allem weiterarbeiten, was Sie brauchen, und sich an das Repository binden, als hätten Sie die ursprünglichen Änderungen nie vorgenommen.
Wenn Sie mit dem fertig sind, was Sie ursprünglich abgelenkt hat, verwenden Sie es Git Stash-Pop um Ihre Änderungen anzuwenden und aus dem Stash zu entfernen. Sie können Ihre Änderungen auch anwenden und mit im Stash behalten git stash anwenden. Dies kann nützlich sein, wenn Sie die Änderungen schnell auf mehrere Branches anwenden möchten.
Arbeiten mit mehr als einem Stash
Wenn Sie sehr beschäftigt sind, arbeiten Sie möglicherweise an mehreren Aufgaben gleichzeitig und müssen sie möglicherweise alle verstauen. Keine Sorge, git stash ist dafür gebaut.
Jedes Mal, wenn Sie git stash push verwenden, speichern Sie einen weiteren Satz von Änderungen. Verwenden Git-Versteckliste um alles zu zeigen, was du verstaut hast. Sie werden etwas in etwa so sehen:
stash@{0}: WIP auf main: 2fba62e erster Commit
stash@{1}: WIP auf main: 2fba62e erster Commit
Diese Nachrichten sind nicht sehr nützlich, aber Sie können einige Hinweise für sich selbst hinterlassen, indem Sie beim Verstauen eine benutzerdefinierte Nachricht hinzufügen:
git stash push -m "dritte"
Wenn Sie jetzt auflisten, sehen Sie Ihre benutzerdefinierte Nachricht:
stash@{0}: Auf Haupt: Dritter
stash@{1}: WIP auf main: 2fba62e erster Commit
Anzeigen der Unterschiede zwischen Diffs
Um herauszufinden, was sich in einem Stash geändert hat, verwenden Sie Git-Stash-Show. Ohne weitere Argumente wird eine Diff-Zusammenfassung für den neuesten Stash angezeigt, die so aussieht:
$ git Stash-Show
README.md | 3 +++
1 Datei geändert, 3 Einfügungen (+)
Sie können auch eine Stash-ID übergeben, um einen bestimmten Eintrag abzufragen:
git stash show stash@{0}
Einen Branch aus einem Stash erstellen
Sie könnten entscheiden, dass die Änderungen in einem Stash so bedeutend sind, dass sie es verdienen, in einem eigenen Zweig zu sein. Wenn ja, einen neuen Zweig erstellen aus dem Stash mit der Zweig Befehl:
Git Stash-Zweig
Auch dies funktioniert standardmäßig mit dem neuesten Stash, aber Sie können bei Bedarf eine Stash-ID angeben. Git erstellt Ihren neuen Branch am selben Punkt im Repository wie den Stash. Es wendet dann die Änderungen aus dem Stash auf Ihre Arbeitskopie an.
Bereinigen des Vorrats
Es gibt keinen „git unstash“-Befehl. Wenn Sie einen Stash-Eintrag entfernen möchten, verwenden Sie drop:
git stash fallen
Auch dies ist standardmäßig die neueste, aber Sie können stattdessen eine Stash-ID angeben. Wenn Sie sich entscheiden, alles loszuwerden, was Sie gespeichert haben, verwenden Sie diesen Befehl:
git stash löschen
Verwenden Sie git stash für temporäre Lightweight-Commits
Git-Stashes sind bei weitem nicht so leistungsfähig wie vollständige Repositories. Aber sie bieten noch viele nützliche Funktionen für sich. Verwenden Sie Stashes, wenn Sie häufig mitten in der Arbeit die Zweige wechseln müssen.
Stashing ist nur ein kleiner Teil von Git, einem Programm, das sehr viel zu bieten hat.