Änderungen der Dateien nach Namen in Git speichern

Azhar Bashir Khan 6 Februar 2022
Änderungen der Dateien nach Namen in Git speichern

In diesem Tutorial wird vorgestellt, wie Änderungen der Dateien nach Namen in Git gespeichert werden.

In Git möchten wir die Änderungen möglicherweise eine Weile speichern und an der Version der Dateien arbeiten, bevor diese Änderungen vorgenommen wurden.

Wir können den Befehl git stash push verwenden, um die Änderungen zu stashen, um sie für die spätere Verwendung zu speichern.

Später können wir wieder den Befehl git stash pop verwenden, um diese Änderungen zurückzubekommen.

Manchmal möchten wir den Stash-Eintrag zur einfacheren Verwendung unter einem Namen speichern. Möglicherweise möchten wir den Namen des Stash-Eintrags verwenden, um in der Stash-Liste nach ihm zu suchen, und den Namen verwenden, um die Änderungen abzurufen.

Wir werden dies nun an einem Beispiel veranschaulichen.

Verwenden von git stash push, um Änderungen von Dateien nach Namen in Git zu speichern

Angenommen, wir haben eine Datei namens sample.txt im Zweig main im Git-Repository. Möglicherweise haben wir einige Änderungen an der Datei lokal vorgenommen.

Wir können den Status des Repositorys wie folgt überprüfen.

$ git status
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	new file:   sample.txt

So können wir sehen, dass die Datei sample.txt einige Änderungen enthält, die festgeschrieben werden müssen.

Jetzt entscheiden wir, dass wir diese Änderungen, anstatt diese Änderungen zu übernehmen, vielleicht mit einem Namen speichern möchten, um sie später leicht wiederzufinden.

Die Syntax des Befehls git stash push zum Stashieren von Änderungen mit einem Namen lautet git stash push -m <stash_name>.

Wir werden nun die Änderungen der Datei sample.txt mit folgendem Namen stashen.

$ git stash push -m "my_stash"
Saved working directory and index state On master: my_stash

Wir können den angegebenen Stash-Namen in der Stash-Liste sehen.

$ git stash list
stash@{0}: On master: my_stash

Daher können wir in der Stash-Liste den Stash-Eintrag mit unserem gegebenen Stash-Namen sehen, nämlich my_stash.

Wir werden nun die Änderungen des Arbeitsbaums wie folgt erneut überprüfen.

$ git status
On branch main
nothing to commit, working tree clean

Da wir mit dem Stashing fertig sind, zeigt Git keine neuen Änderungen an.

Bei Bedarf können wir die Änderungen aus dem Stash-Speicher abrufen, indem wir den Namen verwenden, den wir dem gerade erstellten Stash-Eintrag gegeben haben.

Wir müssen den Befehl git stash apply verwenden, um die Änderungen wieder in den Arbeitsbaum abzurufen.

Die Syntax des Befehls git stash apply zum Abrufen des Stash-Eintrags nach Namen und Anwenden der Änderungen auf den Arbeitsbaum lautet git stash apply stash^{/<stash_name>}.

Bitte beachten Sie, dass wir einen regulären Ausdruck mit dem Stash-Namen verwenden, um den gewünschten Stash-Eintrag zu erhalten.

Daher müssen wir wie folgt vorgehen, um den Stash-Eintrag mit dem Namen my_stash abzurufen.

$ git stash apply stash^{/my_stash}
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	new file:   sample.txt

Wir können jetzt die Änderungen sehen, die auf den Arbeitsbaum angewendet wurden, den wir aus dem Stash abgerufen haben, wie folgt.

$ git status
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	new file:   sample.txt

Im Gegensatz zum Befehl git stash pop entfernt der Befehl git stash apply den Stash-Status (d. h.) den Stash-Eintrag nicht aus der Stash-Liste. Es wendet nur den angegebenen Stash-Eintrag auf den aktuellen Zustand des Arbeitsbaums an.

Daher können wir den Stash-Eintrag immer noch in der Stash-Liste anzeigen.

$ git stash list
stash@{0}: On master: my_stash

Wir können den Stash-Eintrag aus der Stash-Liste entfernen.

Wir müssen den Befehl wie folgt ausführen.

$ git stash clear

Achtung: Bitte verwenden Sie diesen Befehl mit Vorsicht, da er alle Stash-Einträge entfernt.

Um nur einen bestimmten Eintrag zu entfernen, wie in unserem Fall, müssen wir wie folgt vorgehen.

$ git stash pop stash@{0}

Daher wird in diesem Fall der Stash-Eintrag nun aus der Stash-Liste entfernt.

Verwandter Artikel - Git Stash

Verwandter Artikel - Git Push