git-branch translation finished. rdy 4 review.
[gitman-de.git] / git-add-de.txt
blob0e451be36da7d4c58225989cf11353bae1783253
1 git-add(1)
2 ==========
4 NAME
5 ----
6 git-add - Füge Dateiinhalte zum Index hinzu.
8 SYNOPSIS
9 --------
10 [verse]
11 'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
12           [--all | [--update | -u]] [--refresh] [--ignore-errors] [--]
13           <filepattern>...
15 DESCRIPTION
16 -----------
17 Dieser Befehl fügt den aktuellen Inhalt neuer oder veränderter Dateien 
18 zum Index hinzu, und stellt diese Änderungen somit für die nächste 
19 Eintragung (commit) bereit.
21 Der "Index" enthält eine Momentaufnahme des Inhalts des Arbeitsbaumes, 
22 und es ist genau diese Momentaufnahme die bei der nächsten Eintragung
23 (commit) genommen wird. Darum muß man nachdem man Änderungen im
24 Arbeitsbereich durchgeführt hat und bevor man die Eintragung (commit)
25 ausführt, die neuen oder geänderten Dateien mit der 'git-add' Anweisung
26 in den Index aufnehmen.
28 Diese Anweisung kann vor einer Eintragung (commit) mehrfach ausgeführt
29 werden. Es wird lediglich der Inhalt der angegebenen Datei(en) zum
30 Ausführungszeitpunkt hinzugefügt. Soll eine spätere Änderung einer dieser
31 Dateien in die Eintragung (commit) aufgenommen werden, so muß 'git-add'
32 neuerlich aufgerufen werden.
34 Der Befehl 'git status' kann verwendet werden um eine Übersicht darüber
35 zu erhalten, welche für die nächste Eintragung (commit) vorgesehene 
36 Dateien verändert wurden.
38 Der Befehl 'git add' wird standardmäßig keine ignorierten Dateien 
39 hinzufügen. Wenn ignorierte Dateien (.gitignore) explizit in der 
40 Befehlszeile angegeben wurden, wird 'git add' fehlschlagen und eine 
41 Liste aller ignorierten Dateien ausgeben. Ignorierte Dateien die über 
42 eine rekursiche Verzeichnis Navigation oder durch von git durchgeführtes
43 'globbing' (Platzhalter Auflösung z.B. *.jpg) erreicht wurden, werden
44 stillschweigend ignoriert. Der 'git add' Befehl kann das Hinzufügen
45 ignorierter Dateien mit der Option '-f' (force) erzwingen.
47 Für andere Wege, Inhalte zu einer Eintragung (commit) hinzuzufügen, siehe auch linkgit:git-commit[1] .
49 OPTIONS
50 -------
51 <filepattern>...::
52         Dateien aus denen Inhalte hinzugefügt werden sollen. 
53         Dateisuchkriterien (z.B. '*.c') können verwendet werden um alle
54         passenden Dateien hinzuzufügen. Es kann auch ein Pfadname 
55         angegeben werden, um rekursiv alle in diesem Pfad befindlichen
56         Dateien hinzuzufügen (z.B. 'dir' für 'dir/datei1' und 
57         'dir/datei2').
59 -n::
60 --dry-run::
61         Füge die Datei(en) nicht tatsächlich hinzu, sondern zeige
62         nur ob sie existieren.
64 -v::
65 --verbose::
66         Gib ausführliche Informationen aus.
68 -f::
69 --force::
70         Erzwinge das Hinzufügen normalerweise ignorierter Dateien.
72 -i::
73 --interactive::
74         Füge geänderte Inhalte im Arbeitsbereich interaktiv zum
75         Index hinzu. Optionale Pfad Argumente können verwendet
76         werden um die Operation auf einen spezifischen Teil des
77         Arbeitsbereichs einzuschränken. Siehe ''Interaktiver Modus''
78         für nähere Details.
80 -p::
81 --patch::
82         Ähnlich dem Interativen Modus, nur wird die initiale
83         Befehlsschleife umgangen und vor dem Verlassen, der 'patch'
84         Subbefehl mit jedem der angegebenen filepattern aufgerufen.
86 -u::
87 --update::
88         Aktualisiere nur jene Dateien, die git bereits kennt, stelle 
89         veränderte Inhalte zur Eintragung (commit) zur Verfügung, und
90         markiere gelösche Dateien zur Entfernung. Das ist ähnlich zu 
91         dem was "git commit -a" bei der Vorbereitung zur Eintragung
92         (commit) durchführt, mit der Ausnahme, daß '--update' auf
93         die in der Befehlszeile angegebenen Pfade beschränkt ist.
94         Sind keine Pfade angegeben, werden alle verfolgten Dateien in 
95         allen Verzeichnissen und ihren Unterverzeichnissen aktualisiert.
97 -A::
98 --all::
99         Aktualisiere Dateien die git bereits kennt (gleich wie bei
100         '\--update'), und füge alle noch nicht verfolgten Dateien die
101         nicht mittels des '.gitignore' Mechanismus ignoriert werden 
102         hinzu.
104 --refresh::
105         Füge keine Datei(en) hinzu, sondern aktualisiere lediglich
106         deren stat() Information im Index.
108 --ignore-errors::
109         Konnten einige Dateien aufgrund von Fehlern beim Indizieren
110         nicht hinzugefügt werden, dann fahre mit dem Hinzufügen weiter
111         ohne die Operation abzubrechen. Der Befehl wird trotzdem 
112         mit einem Fehlerwert ungleich 0 beendet.
113 \--::
114         Diese Option kann dazu verwendet werden, Befehlszeilenoptionen
115         von der Liste von Dateien zu trennen. Dies ist sinnvoll, wenn
116         Dateinamen mit Befehlszeilenoptionen verwechselt werden könnten.
119 Configuration
120 -------------
122 Mit der optionalen Konfigurationsvariable 'core.excludesfile' kann eine Datei
123 angegeben werden, welche Dateisuchkriterien (z.B. '*.log') für von git-add zu
124 ignorierende Dateien enthält. Dieser Mechanismus ist ähnlich zu 
125 $GIT_DIR/info/exclude. Dateisuchkriterien im excludesfile werden zusätzlich 
126 zu jenen in info/exclude angewandt. Siehe auch linkgit:gitrepository-layout[5].
128 EXAMPLES
129 --------
131 * Füge die Inhalte aller `\*.txt` Dateien unter dem `Documentation` Verzeichnis
132 und seinen Unterverzeichnissen hinzu:
134 ------------
135 $ git add Documentation/\\*.txt
136 ------------
138 Anmerkung: das Sternchen `\*` wird in diesem Beispiel vom Befehlsprozessor
139 (shell) nicht automatisch erweitert, wodurch der git add Befehl auch
140 Unterverzeichnisse des `Documentation/` Verzeichnisses erfassen kann.
142 * Füge die Inhalte aller git-*-s Skripte hinzu:
144 ------------
145 $ git add git-*.sh
146 ------------
148 Dieses Beispiel läßt dem Befehlsprozessor (shell) die Erweiterung des
149 Sternchens durchführen (git erhält bereits eine explizite Dateiliste
150 übergeben), und so kann zB `subdir/git-foo.sh` nicht gefunden werden.
152 Interaktiver Modus
153 ----------------
154 Wird git im interaktiven Modus gestartet, zeigt es zuerst die Ausgabe
155 des 'status' Unterbefehls, und beginnt dann mit der interaktiven
156 Befehlsverarbeitung.
158 Diese zeigt eine Liste der möglichen Unterbefehle und frägt "What now> ".
159 Wenn die Frage mit einem einzelnen '>' endet, kann man im Allgemeinen
160 aus einer der folgenden Optionen wählen und diese mit der Eingabetaste
161 bestätigen:
163 ------------
164     *** Commands ***
165       1: status       2: update       3: revert       4: add untracked
166       5: patch        6: diff         7: quit         8: help
167     What now> 1
168 ------------
170 Man kann weiters "s" oder "sta" oder "status" eingeben, solange die
171 Auswahl eindeutig ist.
173 Die Hauptbefehlsschleife hat 6 Unterbefehle (sowie zusätzlich 'help' und 'quit')
175 status::
177    Zeigt den Unterschied zwischen HEAD und dem Index (also was 
178    eingetragen wird wenn man "git commit" ausführt), sowie zwischen 
179    dem Index und den Dateien im Arbeitsbereich (also was man vor einem
180    "git-commit" mittels "git-add" hinzufügen könnte) für jeden Pfad.
181    Eine Beispielausgabe:
183 ------------
184               staged     unstaged path
185      1:       binary      nothing foo.png
186      2:     +403/-35        +1/-1 git-add--interactive.perl
187 ------------
189 Es zeigt sich, daß foo.png im Vergleich mit dem HEAD geändert wurde,
190 (da es sich um eine Binärdatei handelt wird keine Zeilenanzahl gezeigt),
191 und daß kein Unterschied zwischen dem Index und der Version im
192 Arbeitsbereich besteht (Wäre diese ebenfalls unterschiedlich, würde
193 'binary' anstatt 'nothing' angezeigt werden).
194 Die andere Datei, git-add--interactive.perl, hat 403 hinzugefügte 
195 und 35 gelöschte Zeilen wenn man das einträgt (commited) was sich
196 aktuell im Index befindet, und im Arbeitsbereich befinden sich
197 weitere Änderungen (1 Zeile hinzugefügt, 1 Zeile gelöscht).
199 update::
201    Zeigt die Status Information und wartet mit der Meldung "Update>>"
202    auf weitere Eingaben. Wenn die Meldung mit doppelten '>>' endet, 
203    kann man, getrennt durch Leerzeichen oder Beistriche, mehrere 
204    Operationen auswählen. Man kann auch ganze Bereiche angeben, z.B.
205    "2-5 7,9" um 2,3,4,5,7,9 aus der Liste auszuwählen. Wird die zweite
206    Nummer eines Bereichs nicht angegeben, reicht dieser bis an das 
207    Ende der Liste, zB "7-" um 7,8,9 aus der Liste auszuwählen.
208    Durch '*' werden alle Listeneinträge ausgewählt.
210 Alle ausgewählten Listeneinträge werden wie folgt mit einem 
211 Stern '*' markiert:
213 ------------
214            staged     unstaged path
215   1:       binary      nothing foo.png
216 * 2:     +403/-35        +1/-1 git-add--interactive.perl
217 ------------
219 Ein '-' vor der Option macht die Auswahl wieder rückgängig:
221 ------------
222 Update>> -2
223 ------------
225 Nachdem die Auwahl getroffen wurde kann durch Eingabe einer Leerzeile
226 der Inhalt der ausgewählten Dateien in den Index aufgenommen werden.
228 revert::
229   Diese Option ist sehr ähnlich zu 'update', nur wird die im Index
230   gespeicherte Änderungsinformation für die ausgewählten Dateien
231   auf die im HEAD gespeicherte Version zurückgesetzt. Werden neue
232   Dateien zurückgesetzt, so wird die Information darüber aus git
233   wieder entfernt.
235 add untracked::
237   Mit einer zu 'update' und 'revert' sehr ähnlichen Bedienweise
238   können mit git noch nicht verwaltete Dateien zum Index hinzugefügt
239   werden.
241 patch::
243   Ermöglicht die Auswahl eines Pfades aus der 'status' Liste.
244   Anschließend wird der 'diff' zwichen dem Index und der Datei
245   im Arbeisbereich angezeigt und gefragt ob die einzelnen 
246   Brocken hinzugefügt werden sollen. Man kann auswählen zwischen
247   (Überetzung in Klammern):
250        y - stage this hunk (Brocken hinzufügen)
251        n - do not stage this hunk (Brocken nicht hinzufügen)
252        a - stage this and all the remaining hunks in the file (diesen und alle restlichen Brocken aus dieser Datei hinzufügen)
253        d - do not stage this hunk nor any of the remaining hunks in the file (diesen und alle restlichen Brocken aus dieser Datei nicht hinzufügen)
254        j - leave this hunk undecided, see next undecided hunk (lasse den Brocken unbestimmt, gehe zum nächsten unbestimmten Brocken)
255        J - leave this hunk undecided, see next hunk (lasse den Brocken unbestimmt, gehe zum nächsten Brocken)
256        k - leave this hunk undecided, see previous undecided hunk (lasse den Brocken unbestimmt, gehe zum vorhergehenden unbestimmten Brocken)
257        K - leave this hunk undecided, see previous hunk (lasse den Brocken unbestimmt, gehe zum vorhergehendenBrocken)
258        s - split the current hunk into smaller hunks (Zerteile den aktuellen Brocken in kleinere Teile)
259        e - manually edit the current hunk (händisches Zerlegen des aktuellen Brockens)
260        ? - print help (Hilfe ausgeben)
262 Nachdem zumindest ein Source Brocken ausgewählt wurde werden die
263 ausgewählten Brocken in den Index aufgenommen.
265 diff::
267   Teigt jene Änderungen an die eingetragen (commited) werden würden (also
268   zwischen HEAD und Index).
270 Bugs
271 ----
272 Der Interaktive Modus hat Probleme beim Verarbeiten von Dateien deren
273 Namen Zeichen enthalten die in C speziell behandelt werden müssen. 
274 Eine spezielle 'core.quotepath' Einstellung kann teilweise zur Umgehung 
275 dieses Problems verwendet werden, aber '\', '"', und Kontrollzeichen 
276 sind weiterhin problematisch.
278 SEE ALSO
279 --------
280 linkgit:git-status[1]
281 linkgit:git-rm[1]
282 linkgit:git-reset[1]
283 linkgit:git-mv[1]
284 linkgit:git-commit[1]
285 linkgit:git-update-index[1]
287 Author
288 ------
289 Geschrieben von Linus Torvalds <torvalds@osdl.org>
291 Documentation
292 --------------
293 Dokumentiert durch Junio C Hamano und der git-list <git@vger.kernel.org>.
297 Teil der linkgit:git[1] suite