Merge branch 'master' of ssh://Culex@repo.or.cz/srv/git/gitman-de
[gitman-de.git] / git-diff-de.txt
blob17fd2e044b7f0e5b5b4e3b98a887126862e9d333
1 git-diff(1)
2 ===========
4 NAME
5 ----
6 git-diff - Zeige Unterschiede zwischen Eintragungen (commits), 
7 Eintragung und Arbeitsbereich, etc
10 SYNOPSIS
11 --------
12 'git diff' [<common diff options>] <commit>{0,2} [--] [<path>...]
14 DESCRIPTION
15 -----------
16 Zeige Unterschiede zwischen zwischen zwei Bäumen, einen Baum und dem
17 Arbeitsbereich, einem Baum und dem Index, oder dem Index und dem 
18 Arbeitsbereich.
20 'git diff' [--options] [--] [<path>...]::
22         Zeige die Unterschiede zwischen dem Arbeitsbereich und
23         dem Index (Bereich in dem die nächste Eintragung (commit)
24         vorbereitet wird). Mit andern Worten, alle Änderungen im 
25         Arbeitsbereich die man noch nicht mit 'git add' oder 'git rm'
26         hinzugefügt hat, aber noch hinzufügen könnte.
28 Werden exakt zwei Dateipfade angegeben und wird zumindest einer davon
29 noch nicht mit git verwaltet, dann werden diese beiten Dateien/Verzeichnisse
30 verglichen. Dieses Verhalten kann auch mit --no-index erzwungen werden.
32 'git diff' [--options] --cached [<commit>] [--] [<path>...]::
34         Mit --cached zeigt git die Änderungen die für die nächste
35         Eintragung (commit) vorbereitet wurden verglichen mit dem 
36         angegebenen <commit>. Typischerweise soll mit der letzten
37         Eintragung verglichen werden, wird also kein <commit> angegeben,
38         so wird HEAD verwendet.
40 'git diff' [--options] <commit> [--] [<path>...]::
42         Zeige die Unterschiede zwischen dem Arbeitsbereich und dem 
43         angegebenen <commit> (Eintragung). Man kann auch HEAD verwenden
44         um mit der letzten Eintragung zu vergleichen, oder den Namen
45         eines Versionszweiges (branch) um mit der letzten Version dieses
46         Zweiges zu vergleichen.
48 'git diff' [--options] <commit> <commit> [--] [<path>...]::
50         Zeige die Änderungen zwischen zwei Eintragungen (commits).
52 'git diff' [--options] <commit>..<commit> [--] [<path>...]::
54         Dieser Aufruf bewirkt das Gleiche wie der vorige. Wird <commit>
55         an einer Seite weggelassen, so wird HEAD genommen.
57 'git diff' [--options] <commit>\...<commit> [--] [<path>...]::
58         
59         Zeige die Änderungen im Arbeitszweig (branch) der die zweite
60         Eintragung (commit) enthält, ausgehend vom gemeinsamen Ursprung 
61         beider <commit>. "git diff A\...B" ist somit equivalent zu
62         "git diff $(git-merge-base A B) B". Bleibt einer der beiden
63         <commit> unerwähnt, wird statt dessen HEAD verwendet.
65 Für alle exotischen Anwendungsfälle sei erwähnt, daß alle <commit>
66 in der obigen Beschreibung (ausgenommen die letzten beiden mit der ".."
67 Notation) auch baumartig (<tree-ish> verwendet werden können.
69 Für eine detailliertere Liste der Möglichkeiten <commit> anzugeben,
70 siehe das Kapitel "SPECIFYING REVISIONS" in linkgit:git-rev-parse[1].
71 Allerdings vergleicht "diff" immer zwei Versionen miteinander und keine
72 Bereiche. Die Angaben ("<commit>..<commit>" und "<commit>\...<commit>")
73 bezeichnen also keine 'Bereiche' wie im "SPECIFYING RANGES" Kapitel
74 in linkgit:git-rev-parse[1] beschrieben.
76 OPTIONS
77 -------
78 :git-diff: 1
79 include::diff-options.txt[]
81 <path>...::
82         Werden Dateipfad Angaben getroffen so schränkt dies den
83         Vergleich (diff) auf diese Dateipfade ein. Handelt es sich um
84         Verzeichnisnamen, so wird der Vergleich auf alle Dateien 
85         unterhalb dieser Verzeichnisse angewendet.
87 Output format
88 -------------
89 include::diff-format.txt[]
91 EXAMPLES
92 --------
94 Verschiedene Möglichkeiten den Arbeitsbereich zu testen::
96 ------------
97 $ git diff            <1>
98 $ git diff --cached   <2>
99 $ git diff HEAD       <3>
100 ------------
102 <1> Änderungen im Arbeitsbereich, die noch nicht im Index für die 
103 nächste Eintragung (commit) vorbereitet wurden.
104 <2> Änderungen zwischen dem Index und der letzten Eintragung (commit),
105 also was im Falle von 'git commit' (ohne "-a") eingetragen werden würde.
106 <3> Änderungen im Arbeitsbereich seit der letzten Eintragung (commit),
107 also was mit 'git commit -a' eingetragen werden würde.
109 Vergleich mit beliegigen Eintragungen (commits)::
111 ------------
112 $ git diff test            <1>
113 $ git diff HEAD -- ./test  <2>
114 $ git diff HEAD^ HEAD      <3>
115 ------------
117 <1> Anstatt mit der neuesten Version des aktuellen Versionszweiges
118 (branch) zu vergleichen, verwende die neueste Version des "test"
119 Versionszweiges.
120 <2>  Anstatt mit der neuesten Version des "test" Versionszweiges
121 (branch) zu vergleichen, verwende die neueste Version ('HEAD') des
122 aktuellen Versionszweites. Der Vergleich wird allerdings auf die 
123 Datei "./test" eingeschränkt.
124 <3> Vergleiche die Version vor der letzen Eintragung (commit) mit der 
125 letzten Eintragung.
127 Versionszweige (branches) vergleichen::
129 ------------
130 $ git diff topic master    <1>
131 $ git diff topic..master   <2>
132 $ git diff topic...master  <3>
133 ------------
135 <1> Vergleich zwischen den neuesten Versionen des 'topic' und des 
136 'master' Versionszweiges.
137 <2> Ident mit dem vorhergehenden Beispiel.
138 <3> Änderungen im Versionszweig (branch) 'master', seit der
139 Versionszweig 'topic' davon abgezweigt wurde.
141 Ausgabe von 'diff' einschränken::
143 ------------
144 $ git diff --diff-filter=MRC            <1>
145 $ git diff --name-status                <2>
146 $ git diff arch/i386 include/asm-i386   <3>
147 ------------
149 <1> Zeige nur Änderungen, Umbenennungen und Kopien, aber 
150 keine Löschungen oder Hinzufügungen.
151 <2> Zeige nur Namen und die Art der Änderung aber keine
152 genauen Unterschiede.
153 <3> Schränke den Vergleich auf das benannte Unterverzeichnis ein.
155 Verändern (munging) der 'diff'-Ausgabe::
157 ------------
158 $ git diff --find-copies-harder -B -C  <1>
159 $ git diff -R                          <2>
160 ------------
162 <1> Führe extra Iterationen durch um Umbenennungen, Kopien und 
163 komplett neugeschriebene Teile zu finden (sehr zeitaufwendig!).
164 <2> Ausgabe in umgekehrter Reihenfolge.
167 Author
168 ------
169 Geschrieben von Linus Torvalds <torvalds@osdl.org>
171 Documentation
172 --------------
173 Dokumentiert durch Junio C Hamano und der git-list <git@vger.kernel.org>.
177 Teil der linkgit:git[1] suite