Voraussetzungen: Git
Mit Git können mehrere Benutzer gleichzeitig an demselben Projekt arbeiten. Angenommen, ein Entwickler arbeitet an einer Funktion in einem Zweig und muss Änderungen aus dem Zweig eines anderen Entwicklers abrufen oder er muss dringend an einer anderen Funktion arbeiten, die Funktion, an der er gerade arbeitet, ist jedoch unvollständig. In diesem Fall können Sie den Teilcode der aktuell funktionierenden Funktion nicht festschreiben. Um diese neue Funktion hinzuzufügen, müssen Sie Ihre aktuellen Änderungen entfernen und an einem anderen Ort speichern. Für solche Situationen bietet Git einen sehr nützlichen Befehl namens „ Git Stash '. Git Stash Der Befehl speichert den zuvor geschriebenen Code und kehrt dann für einen Neuanfang zum letzten Commit zurück. Jetzt können Sie die neue Funktion hinzufügen, ohne die alte Funktion zu beeinträchtigen, da diese lokal gespeichert wird. Nachdem Sie sich auf die neue Funktion festgelegt haben, können Sie mit der Arbeit an der alten Funktion fortfahren, die unvollständig und nicht festgelegt war.
Git-Stash vs. Git-Commit
Es gibt zwei alternative Möglichkeiten, Änderungen im Git-Repository zu speichern: Stash und Commit.
Git-Stash: Der Git-Befehl „stash“ kann dazu verwendet werden, wenn ein Entwickler an einem Projekt arbeitet und die Änderungen beibehalten möchte, ohne sie festzuschreiben. Dadurch kann er die Branche wechseln und an anderen Projekten arbeiten, ohne dass sich dies auf die vorhandenen Änderungen auswirkt. Sie können Änderungen bei Bedarf rückgängig machen. Der aktuelle Status wird gespeichert und Entwickler werden auf einen früheren Status zurückgesetzt.
Git-Commit: Entwickler möchten ihre Änderungen am Quellcode dauerhaft im Repository-Verlauf speichern. Der Git-Commit Der Befehl kann verwendet werden, um dies zu erreichen. Git erstellt einen neuen Commit, der Ihre Änderungen dokumentiert und sie dem Repository-Verlauf hinzufügt.
Um zusammenzufassen. Git-Commits speichern Änderungen im Repository-Verlauf dauerhaft, während Git-Stash dazu verwendet wird, eine Sicherungskopie der Dateien zu erstellen, an denen wir arbeiten, die aber noch nicht zum Commit bereit sind.
Git Stash vs. Git Reset
Beide Befehle können zur Verwaltung von Änderungen an einem Git-Repository kombiniert werden und haben verschiedene Anwendungsfälle.
Git Reset und Git Stash Mit diesen beiden Befehlen können wir alle zuvor gelöschten und gesicherten Dateien im aktuellen Arbeitsverzeichnis wiederherstellen. Diese beiden Hauptunterschiede sind wie folgt:
Git Stash | Git-Reset |
---|---|
Git-Stash wird zum Speichern der Dateien verwendet, an denen Änderungen vorgenommen wurden und die nicht zum Festschreiben bereit sind. | Git-Reset kann die Änderungen vollständig rückgängig machen und den Verzweigungszeiger auf das neue Commit ändern |
Entwickler können Zweige wechseln und an anderen Aufgaben arbeiten, ohne dass die aktuellen Änderungen davon betroffen sind. | Bereits vorgenommene Änderungen werden durch Git-Reset verworfen. |
Git Stash vs. Git Stage
Staging wird verwendet, um die Änderungen für das nachfolgende Commit vorzubereiten, während Git-Stash verwendet wird, um ein Backup von Dateien zu erstellen, die geändert wurden, aber noch nicht zum Commit bereit sind. Beide Befehle können zur Verwaltung von Änderungen an einem Git-Repository kombiniert werden und haben verschiedene Anwendungsfälle.
Git Stash | Git-Bühne |
---|---|
Git-Stash wird zum Erstellen von Sicherungskopien von Dateien verwendet | Dateien werden mithilfe der Git-Stufe zum Git-Index hinzugefügt. |
Git-Stash wird verwendet, wenn Sie während der Arbeit an einer Funktion oder Fehlerbehebung zu einer anderen Aufgabe oder einem anderen Zweig wechseln müssen. | Änderungen an den Git-Stufen müssen in den nachfolgenden Commit einbezogen werden, wenn Sie den Befehl „git add“ verwenden. |
In welchem Ordner wird der Git-Stash-Verlauf gespeichert?
Wenn wir Git Stash verwenden, werden die Daten in Form von Stashes in unserem lokalen Repository gespeichert. Standardmäßig werden die Daten in der Datei git/refs/stash gespeichert. In dieser Datei werden alle Referenzen gespeichert und die eigentlichen Daten werden im Verzeichnis .git/objects gespeichert, genau wie bei anderen Git-Objekten.
Formatieren Sie ein Datum in Java
Mit dem folgenden Befehl werden alle erstellten Stashes aufgelistet.
git stash list>
Wie speichert man Änderungen in Git?
Um die nicht festgeschriebenen Änderungen für die spätere Verwendung zu speichern, können Sie die verwenden „git stash“ Befehl. Dieser Befehl speichert Ihre lokalen Änderungen und stellt das Arbeitsverzeichnis wieder so her, dass es mit dem HEAD-Commit übereinstimmt, sodass Sie ein sauberes Arbeitsverzeichnis erhalten.
Hier sind einige wichtige Optionen, die am häufigsten verwendet werden:
- Git-Stash Git-Stash speichern Git-Stash-Liste Git-Stash anwenden Git-Stash-Änderungen Git-Stash-Pop Git-Stash löschen Git-Stash löschen Git-Stash-Zweig
Verstecken Sie Ihre Arbeit (Git Stash)
git stash>

Standardmäßig ausgeführt Git Stash speichert die Änderungen, die Ihrem Index hinzugefügt wurden (bereitgestellte Änderungen) und die an Dateien vorgenommenen Änderungen, die derzeit von Git verfolgt werden (nicht bereitgestellte Änderungen). Um Ihre nicht verfolgten Dateien zu speichern, verwenden Sie git stash -u .
Verwalten mehrerer Stashes (Git Stash List)
Sie können mehrere Stashes erstellen und diese mit dem anzeigen „Git-Stash-Liste“ Befehl. Jeder Stash-Eintrag wird mit seinem Namen aufgelistet (z. B. stash@{1} ), den Namen des Zweigs, der zum Zeitpunkt der Erstellung des Eintrags aktuell war, und eine kurze Beschreibung des Commits, auf dem der Eintrag basierte.
git stash list>

Um dem Stash mehr Kontext zu verleihen, erstellen wir den Stash mit dem folgenden Befehl:
git stash save 'message'>
Was sind Git Stash Apply und POP? (Git Stash Apply und POP)
Sie können die zuvor gespeicherten Änderungen erneut anwenden „Git Stash Pop“ oder „git stash apply“ Befehle. Der einzige Unterschied zwischen den beiden Befehlen besteht darin „Git Stash Pop“ Entfernt die Änderungen aus dem Stash und wendet die Änderungen erneut in der Arbeitskopie an „git stash apply“ Wendet die Änderungen nur erneut in der Arbeitskopie an, ohne die Änderungen aus dem Stash zu entfernen. In einfachen Worten: Pop Entfernt den Status aus der Stash-Liste während anwenden Entfernt den Status nicht aus der Stash-Liste. Mit Hilfe des nachfolgenden Befehls können wir die gespeicherten Änderungen erneut anwenden. Der aktuellste Stash wird in unser Arbeitsverzeichnis übernommen und auch aus der Liste der Stashes übernommen.
git stash pop>

git stash apply>

Standardmäßig „Git Stash Pop“ oder „git stash apply“ wendet den zuletzt erstellten Stash erneut an: stash@{0} Um auszuwählen, welcher Stash angewendet werden soll, können Sie den Bezeichner als letztes Argument übergeben ( Zum Beispiel. :- git stash pop stash@{2}).
Git Stash Show
Git Stash Show Der Befehl wird verwendet, um die Zusammenfassung der am Stash durchgeführten Vorgänge anzuzeigen.
git stash show>

Erstellen eines Branchs aus Ihrem Stash (Git Stash Branch)
Wenn Sie ausgehend von dem Commit, bei dem der Stash ursprünglich erstellt wurde, einen neuen Zweig erstellen und auschecken und die im Stash gespeicherten Änderungen anwenden möchten, verwenden Sie „git stash branch branch_name stash_name“ . Es löscht den Stash, der als Argument angegeben ist, und wenn kein Stash angegeben ist, löscht es den neuesten.
git stash branch newbranch stash@{0}>

Bereinigen Sie Ihren Vorrat (Git Stash Clear)
Um einen bestimmten Stash zu löschen ( Zum Beispiel: – stash@{1}), verwenden „git stash drop stash@{1}“ . Standardmäßig wird dieser Befehl gelöscht stash@{0} wenn kein Argument angegeben wird ( Git Stash Drop ). Um alle Stashes auf einmal zu löschen, verwenden Sie die „git stash clear“ Befehl.

Der Befehl „git stash“ ermöglicht es uns, nicht festgeschriebene Änderungen beizubehalten, damit wir sie bei Bedarf in Zukunft verwenden können. Wenn wir den Befehl git stash verwenden, werden die Dateien automatisch gesichert. Dadurch können wir den Zweig wechseln, unsere Aufgaben erledigen und die Dateien dann problemlos zurückerhalten, wenn wir bereit sind, wieder daran zu arbeiten.

Verstecken nicht verfolgter oder ignorierter Dateien
Wir können den Befehl git stash verwenden, um die Dateien zu speichern, bei denen es sich um nicht verfolgte oder ignorierte Dateien handelt. Indem wir die folgenden Schritte ausführen, können wir unsere Dateien speichern:
Schritt 1: Speichern Sie die Änderungen dafür mit dem folgenden Befehl.
git stash save --include-untracked>
–include-untracked Dadurch werden auch alle nicht verfolgten Dateien zwischengespeichert.
Schritt 2: Überprüfen Sie den Vorrat:
Verwenden Sie den folgenden Befehl, um zu bestätigen, dass der Stash erstellt wurde:
git stash list>
Schritt 3: Mit dem folgenden Befehl können wir den Stash zurückbringen und anwenden.
git stash apply stash@{0}>
Schritt 4: Sobald die Wiederherstellung des Stashs abgeschlossen ist, falls dies unerwünscht ist, können wir den Stash mit dem folgenden Befehl löschen.
git stash drop stash@{0}>
Best Practices für Git Stash
Hier sind einige Best Practices für die Verwendung Git-Stash Befehl.
- Git-Stash nicht überbeanspruchen: Git Stash muss mäßig verwendet werden, wenn es sehr wichtig ist, an einer anderen Aufgabe zu arbeiten. Nur wir sollten Git Stash verwenden, da es sich auf die Änderungen auswirkt, die beim Festschreiben vorgenommen werden müssen.
- Vermeiden Sie unnötige Nachrichten: Mit git stash können Sie eine Nachricht hinzufügen, um die Änderungen zu beschreiben, die Sie speichern. Machen Sie die Nachricht aussagekräftig. Wenn Sie sich später daran erinnern müssen, was sich im Vorrat befindet, ist dies praktisch. Verwenden Sie Aussagen, die informativ und eindrucksvoll sind und die verborgenen Veränderungen genau wiedergeben.
- Niederlassungen beschäftigen: Stashing ist ein hilfreiches Tool bei der Arbeit mit Git-Branches. Erstellen Sie vor dem Stashen von Änderungen einen neuen Zweig, damit Sie zu anderen Aufgaben oder Zweigen wechseln können, ohne dass sich dies auf Ihre aktuellen Änderungen auswirkt. Kehren Sie zum Zweig zurück und wenden Sie den Stash an, wenn Sie bereit sind, erneut an den Änderungen zu arbeiten.
- Änderungen sollten so schnell wie möglich vorgenommen werden: Die Speicherung sollte nur als Übergangslösung dienen. Sobald Sie eine Reihe von Änderungen vorgenommen haben, sollten Sie diese im Repository festschreiben, um eine Aufzeichnung der Änderungen zu erhalten.