Skip to content

Commit 8495f2b

Browse files
committed
🎨 Remove git log commands from glossary
1 parent aa6443a commit 8495f2b

File tree

1 file changed

+163
-165
lines changed

1 file changed

+163
-165
lines changed

docs/productive/git/review.rst

Lines changed: 163 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -15,136 +15,135 @@ Rückblick
1515
Filtern und sortieren
1616
~~~~~~~~~~~~~~~~~~~~~
1717

18-
.. glossary::
18+
:samp:`$ git log [-n {COUNT}]`
19+
listet die Commit-Historie des aktuellen Zweiges auf.
1920

20-
:samp:`$ git log [-n {COUNT}]`
21-
listet die Commit-Historie des aktuellen Zweiges auf.
21+
``-n``
22+
beschränkt die Anzahl der Commits auf die angegebene Zahl.
2223

23-
``-n``
24-
beschränkt die Anzahl der Commits auf die angegebene Zahl.
24+
:samp:`$ git log [--after="{YYYY-MM-DD}"] [--before="{YYYY-MM-DD}"]`
25+
Commit-Historie gefiltert nach Datum.
2526

26-
:samp:`$ git log [--after="{YYYY-MM-DD}"] [--before="{YYYY-MM-DD}"]`
27-
Commit-Historie gefiltert nach Datum.
27+
Auch relative Angaben wie ``1 week ago`` oder ``yesterday`` sind
28+
zulässig.
2829

29-
Auch relative Angaben wie ``1 week ago`` oder ``yesterday`` sind
30-
zulässig.
30+
:samp:`$ git log --author="{VEIT}"`
31+
filtert die Commit-Historie nach Autor*innen.
3132

32-
:samp:`$ git log --author="{VEIT}"`
33-
filtert die Commit-Historie nach Autor*innen.
33+
Es kann auch nach mehreren Autor*innen gleichzeitig gesucht werden,
34+
:abbr:`z.B. (zum Beispiel)`:
3435

35-
Es kann auch nach mehreren Autor*innen gleichzeitig gesucht werden,
36-
:abbr:`z.B. (zum Beispiel)`:
36+
:samp:`$ git log --author="{VEIT\|VSC}"`
3737

38-
:samp:`$ git log --author="{VEIT\|VSC}"`
38+
:samp:`$ git log --grep="{TERM}" [-i]`
39+
filtert die Commit-Historie nach regulären Ausdrücken in der
40+
Commit-Nachricht.
3941

40-
:samp:`$ git log --grep="{TERM}" [-i]`
41-
filtert die Commit-Historie nach regulären Ausdrücken in der
42-
Commit-Nachricht.
42+
``-i``
43+
ignoriert Groß- und Kleinschreibung.
4344

44-
``-i``
45-
ignoriert Groß- und Kleinschreibung.
45+
:samp:`$ git log -S"{FOO}" [-i]`
46+
filtert Commits nach bestimmten Zeilen im Quellcode.
4647

47-
:samp:`$ git log -S"{FOO}" [-i]`
48-
filtert Commits nach bestimmten Zeilen im Quellcode.
48+
``-i``
49+
ignoriert Groß- und Kleinschreibung.
4950

50-
``-i``
51-
ignoriert Groß- und Kleinschreibung.
51+
:samp:`$ git log -G"{BA*}"`
52+
filtert Commits nach regulären Ausdrücken im Quellcode.
5253

53-
:samp:`$ git log -G"{BA*}"`
54-
filtert Commits nach regulären Ausdrücken im Quellcode.
54+
:samp:`$ git log -- {PATH/TO/FILE}`
55+
filtert die Commit-Historie nach bestimmten Dateien.
5556

56-
:samp:`$ git log -- {PATH/TO/FILE}`
57-
filtert die Commit-Historie nach bestimmten Dateien.
57+
:samp:`$ git log {MAIN}..{FEATURE}`
58+
filtert nach unterschiedlichen Commits in verschiedenen Zweigen
59+
(Branches), in unserem Fall zwischen den Branches :samp:`MAIN` und
60+
:samp:`FEATURE`.
61+
62+
Dies ist jedoch nicht dasselbe wie :samp:`git log {FEATURE}..{MAIN}`.
63+
Nehmen wir folgendes Beispiel.
64+
65+
.. code-block::
66+
67+
A - B main
68+
\
69+
C - D feature
5870
5971
:samp:`$ git log {MAIN}..{FEATURE}`
60-
filtert nach unterschiedlichen Commits in verschiedenen Zweigen
61-
(Branches), in unserem Fall zwischen den Branches :samp:`MAIN` und
62-
:samp:`FEATURE`.
63-
64-
Dies ist jedoch nicht dasselbe wie :samp:`git log {FEATURE}..{MAIN}`.
65-
Nehmen wir folgendes Beispiel.
66-
67-
.. code-block::
68-
69-
A - B main
70-
\
71-
C - D feature
72-
73-
:samp:`$ git log {MAIN}..{FEATURE}`
74-
zeigt Änderungen in :samp:`{FEATURE}` an, die nicht in :samp:`{MAIN}`
75-
enthalten sind, also die Commits ``C`` und ``D``.
76-
:samp:`$ git log {FEATURE}..{MAIN}`
77-
zeigt Änderungen in :samp:`{MAIN}` an, die nicht in :samp:`{FEATURE}`
78-
enthalten sind, also den Commit ``B``.
79-
:samp:`$ git log {MAIN}...{FEATURE}`
80-
zeigt die Änderungen auf beiden Seiten an, also die Commits ``B``,
81-
``C`` und ``D``.
82-
83-
:samp:`$ git log --follow {PATH/TO/FILE}`
84-
Dies sorgt dafür, dass das Log Änderungen an einer einzelnen Datei
85-
anzeigt, auch wenn diese umbenannt oder verschoben wurde.
86-
87-
Ihr könnt ``--follow`` für einzelne Dateiaufrufe standardmäßig
88-
aktivieren, indem ihr die Option ``log.follow`` in eurer globalen
89-
Konfiguration aktiviert:
90-
91-
.. code-block:: console
92-
93-
$ git config --global log.follow true
94-
95-
Dann müsst ihr nicht mehr ``--follow`` angeben, sondern nur noch den
96-
Dateinamen.
97-
98-
:samp:`$ git log -L {LINE_START_INT|LINE_START_REGEX},{LINE_END_INT|LINE_END_REGEX}:{PATH/TO/FILE}`
99-
:samp:`$ git log -L :{FUNCNAME_REGEX}:{PATH/TO/FILE}`
100-
Mit der Option `-L
101-
<https://git-scm.com/docs/git-log#Documentation/git-log.txt--Lltstartgtltendgtltfilegt>`_
102-
könnt ihr eine verfeinerte Suche durchführen, indem ihr das Log nur eines
103-
Teils einer Datei überprüft. Mit dieser Funktion könnt ihr die Historie
104-
einer einzelnen Funktion, einer Klasse oder eines anderen Code-Blocks
105-
gründlich durchforsten. Sie ist ideal, um herauszufinden, wann etwas
106-
erstellt und wie es geändert wurde, so dass ihr es getrost korrigieren,
107-
refaktorisieren oder löschen könnt.
108-
109-
Für umfassendere Untersuchungen könnt ihr auch mehrere Blöcke verfolgen.
110-
Hierfür könnt ihr mehrere ``-L``-Optionen auf einmal verwenden.
111-
112-
:samp:`$ git log --reverse`
113-
Üblicherweise zeigt das Protokoll den neuesten Commit zuerst an. Ihr
114-
könnt dies mit ``--reverse`` umkehren. Dies ist besonders nützlich, wenn
115-
ihr mit den bereits erwähnten Optionen ``-S`` und ``-G`` untersucht.
116-
Indem ihr die Reihenfolge der Commits umkehrt, könnt ihr schnell den
117-
ersten Commit finden, der eine bestimmte Zeichenfolge zur Codebasis
118-
hinzugefügt hat.
72+
zeigt Änderungen in :samp:`{FEATURE}` an, die nicht in :samp:`{MAIN}`
73+
enthalten sind, also die Commits ``C`` und ``D``.
74+
:samp:`$ git log {FEATURE}..{MAIN}`
75+
zeigt Änderungen in :samp:`{MAIN}` an, die nicht in :samp:`{FEATURE}`
76+
enthalten sind, also den Commit ``B``.
77+
:samp:`$ git log {MAIN}...{FEATURE}`
78+
zeigt die Änderungen auf beiden Seiten an, also die Commits ``B``,
79+
``C`` und ``D``.
80+
81+
:samp:`$ git log --follow {PATH/TO/FILE}`
82+
Dies sorgt dafür, dass das Log Änderungen an einer einzelnen Datei
83+
anzeigt, auch wenn diese umbenannt oder verschoben wurde.
84+
85+
Ihr könnt ``--follow`` für einzelne Dateiaufrufe standardmäßig
86+
aktivieren, indem ihr die Option ``log.follow`` in eurer globalen
87+
Konfiguration aktiviert:
88+
89+
.. code-block:: console
90+
91+
$ git config --global log.follow true
92+
93+
Dann müsst ihr nicht mehr ``--follow`` angeben, sondern nur noch den
94+
Dateinamen.
95+
96+
``$ git log -L``
97+
Mit der Option `-L
98+
<https://git-scm.com/docs/git-log#Documentation/git-log.txt--Lltstartgtltendgtltfilegt>`_
99+
könnt ihr eine verfeinerte Suche durchführen, indem ihr das Log nur eines
100+
Teils einer Datei überprüft:
101+
102+
* :samp:`$ git log -L {LINE_START_INT|LINE_START_REGEX},{LINE_END_INT|LINE_END_REGEX}:{PATH/TO/FILE}`
103+
* :samp:`$ git log -L :{FUNCNAME_REGEX}:{PATH/TO/FILE}`
104+
105+
Mit dieser Funktion könnt ihr die Historie einer einzelnen Funktion, einer
106+
Klasse oder eines anderen Code-Blocks gründlich durchforsten. Sie ist ideal,
107+
um herauszufinden, wann etwas erstellt und wie es geändert wurde, so dass ihr
108+
es getrost korrigieren, refaktorisieren oder löschen könnt.
109+
110+
Für umfassendere Untersuchungen könnt ihr auch mehrere Blöcke verfolgen.
111+
Hierfür könnt ihr mehrere ``-L``-Optionen auf einmal verwenden.
112+
113+
:samp:`$ git log --reverse`
114+
Üblicherweise zeigt das Protokoll den neuesten Commit zuerst an. Ihr
115+
könnt dies mit ``--reverse`` umkehren. Dies ist besonders nützlich, wenn
116+
ihr mit den bereits erwähnten Optionen ``-S`` und ``-G`` untersucht.
117+
Indem ihr die Reihenfolge der Commits umkehrt, könnt ihr schnell den
118+
ersten Commit finden, der eine bestimmte Zeichenfolge zur Codebasis
119+
hinzugefügt hat.
119120

120121
Ansicht
121122
~~~~~~~
122123

123-
.. glossary::
124-
125-
:samp:`$ git log --stat --patch|-p`
126-
``--stat``
127-
Den üblichen Metadaten wird noch eine eine Zusammenfassung der Anzahl
128-
der geänderten Zeilen pro Datei hinzugefügt.
129-
``--patch|-p``
130-
ergänzt die Ausgabe um den vollständigen Commit-Diff.
131-
132-
:samp:`$ git log --oneline --decorate --graph --all|{FEATURE}`
133-
anzeigen des Verlaufsdiagramms mit Referenzen, ein Commit pro Zeile.
134-
135-
``--oneline``
136-
Ein Commit pro Zeile.
137-
``--decorate``
138-
Die Präfixe ``refs/heads/``, ``refs/tags/`` und ``refs/remotes/``
139-
werden nicht ausgegeben.
140-
``--graph``
141-
Üblicherweise *glättet* das Log historische Zweige und zeigt Commits
142-
nacheinander an. Damit wird die parallele Struktur der Historie beim
143-
Zusammenführen von Zweigen verborgen. ``--graph`` stellt den Verlauf
144-
der Zweige in ASCII-Art dar.
145-
:samp:`--all|{FEATURE}`
146-
``--all`` zeigt das Log für alle Zweige; :samp:`{FEATURE}` zeigt nur
147-
die Commits dieses Zweiges an.
124+
:samp:`$ git log --stat --patch|-p`
125+
``--stat``
126+
Den üblichen Metadaten wird noch eine eine Zusammenfassung der Anzahl
127+
der geänderten Zeilen pro Datei hinzugefügt.
128+
``--patch|-p``
129+
ergänzt die Ausgabe um den vollständigen Commit-Diff.
130+
131+
:samp:`$ git log --oneline --decorate --graph --all|{FEATURE}`
132+
anzeigen des Verlaufsdiagramms mit Referenzen, ein Commit pro Zeile.
133+
134+
``--oneline``
135+
Ein Commit pro Zeile.
136+
``--decorate``
137+
Die Präfixe ``refs/heads/``, ``refs/tags/`` und ``refs/remotes/``
138+
werden nicht ausgegeben.
139+
``--graph``
140+
Üblicherweise *glättet* das Log historische Zweige und zeigt Commits
141+
nacheinander an. Damit wird die parallele Struktur der Historie beim
142+
Zusammenführen von Zweigen verborgen. ``--graph`` stellt den Verlauf
143+
der Zweige in ASCII-Art dar.
144+
:samp:`--all|{FEATURE}`
145+
``--all`` zeigt das Log für alle Zweige; :samp:`{FEATURE}` zeigt nur
146+
die Commits dieses Zweiges an.
148147

149148
.. _reflog:
150149

@@ -164,50 +163,49 @@ Schauen wir uns die Grundlagen der Verwendung von Reflog und einige typische
164163
Anwendungsfälle an.
165164

166165
.. warning::
167-
Das Reflog ist nur Teil eures lokalen Repository. Wenn ihr ein Projektarchiv
168-
löscht und neu klont, wird der neue Klon ein frisches, leeres Reflog haben.
166+
Das Reflog ist nur Teil eures lokalen Repository. Wenn ihr ein Projektarchiv
167+
löscht und neu klont, wird der neue Klon ein frisches, leeres Reflog haben.
169168

170169
Das Reflog für ``HEAD`` anzeigen
171170
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
172171

173-
.. glossary::
174-
175-
:samp:`$ git reflog`
176-
Wenn keine Optionen angegeben sind, zeigt der Befehl standardmäßig das
177-
Reflog für ``HEAD`` an. Es ist die Abkürzung für ``git reflog show
178-
HEAD``. git reflog hat weitere Unterbefehle zur Verwaltung des Logs, aber
179-
``show`` ist der Standardbefehl, wenn kein Unterbefehl übergeben wird.
180-
181-
.. code-block:: console
182-
:linenos:
183-
184-
$ git reflog
185-
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{0}: merge my-feature-branch: Fast-forward
186-
900844a HEAD@{1}: checkout: moving from my-feature-branch to main
187-
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{2}: commit (amend): Add my feature and more
188-
982d93a HEAD@{3}: commit: Add my feature
189-
900844a HEAD@{4}: checkout: moving from main to my-feature-branch
190-
900844a HEAD@{5}: commit (initial): Initial commit
191-
192-
* Die Ausgabe ist ziemlich dicht.
193-
* Jede Zeile ist ein Reflog-Eintrag, der neueste zuerst.
194-
* Die Zeilen beginnen mit dem abgekürzten SHA des entsprechenden Commits,
195-
:abbr:`z.B. (zum Beispiel)` ``12bc4d4``.
196-
* Der erste Eintrag ist das, worauf ``HEAD`` derzeit verweist: ``(HEAD -> main,
197-
my-feature)``.
198-
* Die Namen ``HEAD@\{N}`` sind alternative Referenzen für die angegebenen
199-
Commits. ``N`` ist die Anzahl der zurückgehenden reflog-Einträge.
200-
* Der restliche Text beschreibt die Änderung. Oben könnt ihr mehrere Arten von
201-
Einträgen sehen:
202-
203-
* :samp:`commit: {MESSAGE}` für Commits
204-
* :samp:`commit (amend): {MESSAGE}` für eine Commit-Änderung
205-
* :samp:`checkout: moving from {SRC} TO {DST}` für einen Zweigwechsel
206-
207-
Es gibt viele weitere mögliche Arten von Einträgen. Der Text sollte so
208-
beschreibend sein, dass ihr den Vorgang auch ohne Nachschlagen in der
209-
Dokumentation nachvollziehen könnt. In den meisten Fällen werdet ihr solche
210-
Reflog-Einträge durchsehen wollen, um den entsprechenden Commit SHA zu finden.
172+
:samp:`$ git reflog`
173+
Wenn keine Optionen angegeben sind, zeigt der Befehl standardmäßig das
174+
Reflog für ``HEAD`` an. Es ist die Abkürzung für ``git reflog show
175+
HEAD``. git reflog hat weitere Unterbefehle zur Verwaltung des Logs, aber
176+
``show`` ist der Standardbefehl, wenn kein Unterbefehl übergeben wird.
177+
178+
.. code-block:: console
179+
:linenos:
180+
181+
$ git reflog
182+
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{0}: merge my-feature-branch: Fast-forward
183+
900844a HEAD@{1}: checkout: moving from my-feature-branch to main
184+
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{2}: commit (amend): Add my feature and more
185+
982d93a HEAD@{3}: commit: Add my feature
186+
900844a HEAD@{4}: checkout: moving from main to my-feature-branch
187+
900844a HEAD@{5}: commit (initial): Initial commit
188+
189+
* Die Ausgabe ist ziemlich dicht.
190+
* Jede Zeile ist ein Reflog-Eintrag, der neueste zuerst.
191+
* Die Zeilen beginnen mit dem abgekürzten SHA des entsprechenden Commits,
192+
:abbr:`z.B. (zum Beispiel)` ``12bc4d4``.
193+
* Der erste Eintrag ist das, worauf ``HEAD`` derzeit verweist: ``(HEAD ->
194+
main, my-feature)``.
195+
* Die Namen ``HEAD@\{N}`` sind alternative Referenzen für die angegebenen
196+
Commits. ``N`` ist die Anzahl der zurückgehenden reflog-Einträge.
197+
* Der restliche Text beschreibt die Änderung. Oben könnt ihr mehrere Arten
198+
von Einträgen sehen:
199+
200+
* :samp:`commit: {MESSAGE}` für Commits
201+
* :samp:`commit (amend): {MESSAGE}` für eine Commit-Änderung
202+
* :samp:`checkout: moving from {SRC} TO {DST}` für einen Zweigwechsel
203+
204+
Es gibt viele weitere mögliche Arten von Einträgen. Der Text sollte so
205+
beschreibend sein, dass ihr den Vorgang auch ohne Nachschlagen in der
206+
Dokumentation nachvollziehen könnt. In den meisten Fällen werdet ihr solche
207+
Reflog-Einträge durchsehen wollen, um den entsprechenden Commit SHA zu
208+
finden.
211209

212210
Das Reflog für einen Zweig anzeigen
213211
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -243,13 +241,13 @@ Und für absolute Zeitstempel könnt ihr auch ``--date=iso`` verwenden:
243241

244242
.. code-block:: console
245243
246-
$ git reflog --date=iso
247-
12bc4d4 (HEAD -> main, my-feature) HEAD@{2024-01-11 15:26:53 +0100}: merge my-feature-branch: Fast-forward
248-
900844a HEAD@{2024-01-11 15:26:47 +0100}: checkout: moving from my-feature-branch to main
249-
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{2024-01-11 15:26:11 +0100}: commit (amend): Add my feature and more
250-
982d93a HEAD@{2024-01-11 15:25:38 +0100}: commit: Add my feature
251-
900844a HEAD@{2024-01-11 15:24:37 +0100}: checkout: moving from main to my-feature-branch
252-
900844a HEAD@{2024-01-11 15:23:56 +0100}: commit (initial): Initial commit
244+
$ git reflog --date=iso
245+
12bc4d4 (HEAD -> main, my-feature) HEAD@{2024-01-11 15:26:53 +0100}: merge my-feature-branch: Fast-forward
246+
900844a HEAD@{2024-01-11 15:26:47 +0100}: checkout: moving from my-feature-branch to main
247+
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{2024-01-11 15:26:11 +0100}: commit (amend): Add my feature and more
248+
982d93a HEAD@{2024-01-11 15:25:38 +0100}: commit: Add my feature
249+
900844a HEAD@{2024-01-11 15:24:37 +0100}: checkout: moving from main to my-feature-branch
250+
900844a HEAD@{2024-01-11 15:23:56 +0100}: commit (initial): Initial commit
253251
254252
Übergebt alle Optionen, die ``git log`` unterstützt
255253
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -260,10 +258,10 @@ feature}` erwähnt wird, ohne die Groß- und Kleinschreibung zu berücksichtigen
260258

261259
.. code-block:: console
262260
263-
$ git reflog -i --grep 'my feature'
264-
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{0}: merge my-feature: Fast-forward
265-
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{2}: commit (amend): Add my feature and more
266-
982d93a HEAD@{3}: commit: Add my feature
261+
$ git reflog -i --grep 'my feature'
262+
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{0}: merge my-feature: Fast-forward
263+
12bc4d4 (HEAD -> main, my-feature-branch) HEAD@{2}: commit (amend): Add my feature and more
264+
982d93a HEAD@{3}: commit: Add my feature
267265
268266
Beachtet den Verfall von Einträgen
269267
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -273,10 +271,10 @@ Reflog-Einträge verfallen nach einer gewissen Zeit, wenn Git den automatischen
273271
Diese Verfallszeit wird durch zwei ``gc.*``-Optionen gesteuert:
274272

275273
``gc.reflogExpire``
276-
Die allgemeine Verfallszeit, die standardmäßig auf 90 Tage eingestellt ist.
274+
Die allgemeine Verfallszeit, die standardmäßig auf 90 Tage eingestellt ist.
277275
``gc.reflogExpireUnreachable``
278-
Die Verfallszeit für Einträge, die sich auf nicht mehr erreichbare Commits
279-
beziehen, ist standardmäßig auf 30 Tage eingestellt.
276+
Die Verfallszeit für Einträge, die sich auf nicht mehr erreichbare Commits
277+
beziehen, ist standardmäßig auf 30 Tage eingestellt.
280278

281279
Ihr könnt diese Optionen auf einen längeren Zeitrahmen erhöhen, was allerdings
282280
nur selten sinnvoll sein dürfte.

0 commit comments

Comments
 (0)