Git Stash vs. Shelve in IntelliJ IDEA
- Regaländerungen in Git
- Unshelve-Änderungen in Git
- Stash-Änderungen in Git
- Wenden Sie einen Stash in Git an
Dieser Artikel wird bei der Arbeit mit der IntelliJ IDEA zwischen git stash
und git shelve
unterscheiden. Die beiden greifen ein, wenn wir während der Arbeit zwischen mehreren Aufgaben wechseln und später darauf zurückkommen wollen.
Die IntelliJ IDEA ermöglicht es uns, an verschiedenen Funktionen zu arbeiten, ohne unseren Fortschritt zu verlieren. Wir können entweder verstauen oder ins Regal stellen.
Die beiden haben viel gemeinsam. Der große Unterschied besteht beim Generieren und Anwenden von Patches.
Wenn wir stashen, generiert Git den Patch und wir können die IntelliJ IDEA oder eine andere IDE verwenden, um den Patch anzuwenden. Auf der anderen Seite werden die Patches beim Zurückstellen generiert und innerhalb von IntelliJ IDEA angewendet.
Ein Stash speichert alle nicht festgeschriebenen Änderungen, während Shelving es uns ermöglicht, zu wählen, was zurückgestellt werden soll.
Regaländerungen in Git
Beim Zurückstellen von Änderungen speichern wir vorübergehend nicht festgeschriebene Änderungen, um sie später zu bearbeiten, wenn wir zu einer anderen Aufgabe wechseln müssen. Die IntelliJ IDEA ermöglicht es uns, einzelne Dateien oder alle Änderungen zurückzustellen.
Sie können den generierten Patch beliebig oft anwenden. Hier ist der typische Arbeitsablauf.
-
In der IDE navigieren wir zum Commit-Tool. Dort können wir mit der rechten Maustaste auf die Änderungsliste oder Dateien klicken, die wir zurückstellen möchten, und
Änderungen zurückstellen
auswählen.
- Als nächstes überprüfen wir unsere Liste, geben unserem Regal einen Namen in der
Commit Message
und speichern das Regal, indem wir aufShelve Changes
klicken.
Eine Alternative ist die Verwendung der Option Silent
. Die IDE verfügt über eine Shelve Silently
-Option, die es uns ermöglicht, ohne Anzeige des Dialogs zurückzustellen.
Unshelve-Änderungen in Git
Gehen Sie folgendermaßen vor, um Änderungen aus dem Regal zu nehmen.
-
Navigieren Sie in der IDE zur Registerkarte
Shelf
und wählen Sie die Dateien aus oder ändern Sie die Liste, die Sie aus dem Regal entfernen möchten. -
Tippen Sie im Menü auf
Unshelve
und wählen Sie die Liste aus, in der Sie die zurückgestellten Änderungen wiederherstellen möchten. Sie können auch eine neue Liste erstellen, wenn Sie sie nicht in einer vorhandenen Änderungsliste wiederherstellen möchten.Denken Sie daran, die neue Liste mit
Aktiv
zu markieren. -
Sie können alternativ das Symbol
Unshelve Silently
verwenden und die Änderungen in die aktive Änderungsliste verschieben.
Stash-Änderungen in Git
Ein Stash ist einfach eine Aufzeichnung der Differenz zwischen dem aktuellen Arbeitsverzeichnis und dem HEAD
-Commit. Sie können einen Verzweigungspatch so oft wie nötig anwenden.
Denk daran, dass:
- Beim Anwenden eines Stashs kann es zu Konflikten kommen.
- Sie können keinen Stash auf eine Arbeitskopie anwenden, die nicht festgeschriebene Änderungen enthält.
Befolgen Sie diese Schritte, um Änderungen mit IntelliJ IDEA zu speichern.
- Navigieren Sie zu
Git
>Nicht festgeschriebene Änderungen
>Stash-Änderungen
. - Wählen Sie das richtige Verzeichnis und wechseln Sie in den richtigen Zweig.
- Es ist immer gut, den Vorrat im Feld
Nachricht
kurz zu beschreiben. - Klicken Sie auf
Stash erstellen
.
Wenden Sie einen Stash in Git an
Um einen Stash anzuwenden, folge diesen Schritten.
-
Navigieren Sie zu
Git
>Uncommitted Changes
>Unstash Changes
. -
Wählen Sie das richtige Verzeichnis und wechseln Sie in den richtigen Zweig.
-
Wählen Sie den Stash aus, klicken Sie auf
View
, um zu sehen, welche Dateien sich ändern, nachdem der Patch angewendet wurde, und wählen SiePop Stash
, um den Patch nach der Anwendung zu verwerfen. -
Sie können einen neuen Zweig erstellen und den Patch anwenden, indem Sie den Namen des Zweigs in das Feld
Als neuer Zweig
eingeben.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn