Ä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
- Git Stash muss zusammengeführt werden
- Git Stash Pop-Konflikte rückgängig machen
- Lösen Sie Git-Stash-Konflikte ohne Commit
- Stellen Sie Stash in Git wieder her
- Verschieben Sie vorhandene, nicht festgeschriebene Änderungen in einen neuen Branch in Git
- Git Stash rückgängig machen
Verwandter Artikel - Git Push
- Commit und pushen Sie eine einzelne Datei auf die Remote
- Führen Sie mit Git einen anfänglichen Push zu einem Remote-Repository durch
- git add, git commit und git push in One Command
- Git Push hängt
- Git Push zum Überschreiben von Dateien im Remote-Repository erzwingen
- Git-Push zu einem anderen Zweig mit einem anderen Namen