Git Stash Spezifische Dateien

Azhar Bashir Khan 6 Februar 2022
Git Stash Spezifische Dateien

In diesem Tutorial erfahren Sie, wie Sie Änderungen nur an bestimmten Dateien in Git speichern.

Wenn wir in Git einige Änderungen am Arbeitsbaum vornehmen, haben wir möglicherweise einige Änderungen, die im lokalen Repository bereitgestellt oder noch nicht bereitgestellt werden können.

Möglicherweise möchten wir diese Änderungen jetzt für eine Weile speichern und an einer Version der Dateien arbeiten, bevor diese Änderungen vorgenommen werden.

Daher können wir für solche Zwecke den Befehl git stash push verwenden, um die Änderungen (d. h.) für die spätere Verwendung zu speichern.

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

Manchmal müssen wir Änderungen, die an bestimmten Dateien vorgenommen wurden, speichern oder verstauen, anstatt alle Dateien zu speichern, die im Arbeitsbaum des Repositorys geändert wurden.

Wir werden dies nun an einem Beispiel veranschaulichen.

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

Angenommen, wir haben eine Datei namens example.txt im Arbeitsbaum des Repositorys. Wir haben einige Änderungen an der Datei vorgenommen und möchten diese Änderungen jetzt für eine Weile in Git speichern.

Möglicherweise haben wir auch Änderungen in den anderen Dateien im Arbeitsbaum, aber wir möchten sie nicht speichern.

Die Syntax des Befehls zum Verstauen bestimmter Dateien in Git lautet git stash push <file>.

Daher gehen wir wie folgt vor, um die Änderungen, die nur an der Datei example.txt vorgenommen wurden, zu speichern.

$ git stash push example.txt
Saved working directory and index state On main: example.txt
HEAD is now at 8b3560b minor changes

Wir haben also nur die Änderungen der Datei example.txt zwischengespeichert.

Wir können jetzt die Stash-Einträge auflisten und unseren Stash-Eintrag wie folgt sehen.

$ git stash list
stash@{0}: On main: example.txt

Wir können beim Verstauen auch eine bestimmte Nachricht wie folgt hinzufügen.

$ git stash push -m "my example stash" example.txt
Saved working directory and index state On main: my example stash example.txt
HEAD is now at 8b3560b minor changes

Wir können es wieder wie folgt auflisten.

$ git stash list
stash@{0}: On main: my example stash example.txt

Abgesehen davon können wir auch interaktiv bestimmte Änderungen der gewünschten Dateien in Git stashen.

Dazu müssen wir die Option --patch oder -p zusammen mit dem Befehl git stash push verwenden.

Um dies in unserem Beispiel zu tun, gehen wir also wie folgt vor.

$ git stash push --patch
diff --git a/example.txt
index 7ab5ca4..a281fc6 100644
--- a/example.txt	
+++ b/example.txt	
@@ -4,9 +4,11 @@
 
 some text
+new text
 
some other text
some text again
+second new text


Stash this hunk [y,n,q,a,d,/,s,e,?]? y

Saved working directory and index state WIP on main: 8b3560b minor changes

Der Befehl git stash durchläuft alle Änderungen im Arbeitsbaum des Repositorys und fordert Sie auf, die Änderungen zum Stash auszuwählen.

Hier haben wir die Option y neben der Frage Stash this hunk [y,n,q,a,d,/,s,e,?]? eingegeben, um die Änderungen der Datei example.txt zu speichern.

Wir können die Option n eingeben, um den aktuellen hunk der Datei (die Änderung) nicht zu speichern.

Weitere Informationen zu git stash und verfügbaren Optionen finden Sie auf dieser Website, nämlich git stash - Änderungen speichern.

Verwandter Artikel - Git Stash