Skip to content

Commit c06a8d6

Browse files
authored
07-git-tools-stashing Tippfehler, Ausdruck, Verständnis (#422)
Co-authored-by: Mephi <[email protected]>
1 parent 22741c2 commit c06a8d6

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

book/07-git-tools/sections/stashing-cleaning.asc

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[[_git_stashing]]
22
=== Stashen und Bereinigen
33

4-
Es passiert manchmal, dass dein Projekt nach einer Bearbeitung in einem unordentlichen Zustand. Stelle dir vor du willst in einen anderen Branch wechseln, um an etwas anderem zu arbeiten.
5-
Das Problem ist, dass du keinen Commit mit halbfertiger Arbeit machen willst, nur um später an diesen Punkt zurückkehren zu können.
4+
Es passiert manchmal, dass du mitten in der Bearbeitung deines Pojektes vorübergehend in einen anderen Branch wechseln musst, um an einem anderen Teil des Projektes zu arbeiten.
5+
Das Problem ist, du möchtest keinen Commit mit deiner halbfertigen Arbeit erstellen, nur um später an diesen Punkt zurückkehren zu können.
66
Die Antwort auf dieses Problem ist der Befehl `git stash`.
77

88
Stashing nimmt den unsauberen Zustand deines Arbeitsverzeichnisses – das heißt, deine geänderten, getrackten Dateien und gestagte Änderungen – und speichert ihn in einem Stapel unvollendeter Änderungen, die du jederzeit (auch auf einen anderen Branch) wieder anwenden kannst.
@@ -37,7 +37,7 @@ Changes not staged for commit:
3737
modified: lib/simplegit.rb
3838
----
3939

40-
Du möchtest nun den Branch wechseln, aber du willst das bisherige noch nicht committen, also solltest du die Änderungen stashen.
40+
Du möchtest nun den Branch wechseln, willst aber das bisherige noch nicht committen, also solltest du die Änderungen stashen.
4141
Um einen neuen Stash zu erstellen, führe `git stash` oder `git stash push` aus:
4242

4343
[source,console]
@@ -58,7 +58,7 @@ $ git status
5858
nothing to commit, working directory clean
5959
----
6060

61-
An dieser Stelle kannst du die Branches wechseln und anderswo arbeiten. Deine Änderungen werden solange gespeichert.
61+
An dieser Stelle kannst du die Branches wechseln und anderswo arbeiten. Deine angefangene Arbeit wird solange zwischengespeichert.
6262
Um zu sehen, welche Stashes du gespeichert hast, kannst du `git stash list` verwenden:
6363

6464
[source,console]
@@ -71,8 +71,8 @@ stash@{2}: WIP on master: 21d80a5 Add number to log
7171

7272
Hier wurden vorher schon zwei Stashes gespeichert, so dass du Zugriff auf drei verschiedene gestashte Arbeiten hast.
7373
Du kannst den soeben versteckten Stash erneut aufrufen, indem du den Befehl verwendest, der in der Hilfe-Anzeige des ursprünglichen Stash-Befehls angezeigt wird: `git stash apply`.
74-
Wenn du einen der früheren Stashes anwenden möchtest, kannst du ihn durch einen Namen angeben, etwa so: `git stash apply stash@{2}`.
75-
Wenn du keinen Stash angibst, nimmt Git den neuesten Stash und versucht, ihn zu übernehmen:
74+
Wenn du einen der früheren Stashes anwenden möchtest, musst du diesen explizit benennen, etwa so: `git stash apply stash@{2}`.
75+
Wenn du keinen Stash-Namen angibst, nimmt Git den neuesten Stash und versucht, ihn zu übernehmen:
7676

7777
[source,console]
7878
----
@@ -89,14 +89,14 @@ no changes added to commit (use "git add" and/or "git commit -a")
8989
----
9090

9191
Du kannst sehen, dass Git die Dateien, die du beim Speichern des Stashes zurückgesetzt hast, erneut modifiziert.
92-
In diesem Fall hattest du ein sauberes Arbeitsverzeichnis, als du versucht hast, den Stash anzuwenden den du auf den gleichen Branch anwenden wolltest, aus dem du ihn erzeugt hast.
93-
Ein sauberes Arbeitsverzeichnis und dessen Anwendung auf denselben Branch sind nicht nötig, um einen Stash erfolgreich anzulegen.
94-
Du kannst einen Stash in einem Branch speichern, später in einen anderen Branch wechseln und erneut versuchen, die Änderungen zu übernehmen.
95-
Du kannst auch geänderte und nicht übertragene Dateien in deinem Arbeitsverzeichnis haben, wenn du einen Stash anwendest. Git meldet dir Merge-Konflikte, wenn etwas nicht mehr sauber funktioniert.
96-
97-
Die Änderungen an deinen Dateien wurden erneut angewendet, aber die Datei, die du zuvor bereitgestellt hast, wurde nicht neu eingestellt.
98-
Um das zu erreichen, musst du den Befehl `git stash apply` mit der Option `--index` ausführen und so dem Befehl anweisen, dass er versuchen soll, die gestagten Änderungen erneut anzuwenden.
99-
Hättest du stattdessen diesen Befehl ausgeführt, wärst du an deine ursprüngliche Position zurückgekehrt:
92+
In diesem Fall hast du versucht, den Stash auf ein sauberes Arbeitsverzeichnis anzuwenden, und zwar auf den gleichen Branch, aus dem du den Stash zuvor erzeugt hast.
93+
Ein sauberes Arbeitsverzeichnis und dessen Anwendung auf denselben Branch sind nicht nötig, um einen Stash erfolgreich anzuwenden.
94+
Du kannst einen Stash in einem Branch speichern, später in einen anderen Branch wechseln und versuchen, die Änderungen dort zu übernehmen.
95+
Du kannst auch geänderte und nicht übertragene Dateien in deinem Arbeitsverzeichnis haben, während du einen Stash anwendest. Git meldet dir Merge-Konflikte, wenn etwas nicht mehr sauber funktioniert.
96+
97+
Die Änderungen wurden erneut auf deine Dateien angewendet, aber die Datei, die zuvor bereits zum Commit vorgemerkt war, wurde der Staging-Area noch nicht wieder hinzugefügt.
98+
Um das zu erreichen, musst du den Befehl `git stash apply` stattdessen mit der Option `--index` ausführen und so dem Befehl anweisen, auch den vorherigen Zustand der Staging-Area wiederherzustellen.
99+
Auf diese Weise wärst du an deine ursprüngliche Position zurückgekehrt:
100100

101101
[source,console]
102102
----

0 commit comments

Comments
 (0)