translation of git-add-de.txt continued
[gitman-de.git] / git-add-de.txt
blob6d1d3272d4928c2c6fee1908d8196c3e622f4d23
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 The optional configuration variable 'core.excludesfile' indicates a path to a
123 file containing patterns of file names to exclude from git-add, similar to
124 $GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to
125 those in info/exclude.  See linkgit:gitrepository-layout[5].
128 EXAMPLES
129 --------
131 * Adds content from all `\*.txt` files under `Documentation` directory
132 and its subdirectories:
134 ------------
135 $ git add Documentation/\\*.txt
136 ------------
138 Note that the asterisk `\*` is quoted from the shell in this
139 example; this lets the command to include the files from
140 subdirectories of `Documentation/` directory.
142 * Considers adding content from all git-*.sh scripts:
144 ------------
145 $ git add git-*.sh
146 ------------
148 Because this example lets shell expand the asterisk (i.e. you are
149 listing the files explicitly), it does not consider
150 `subdir/git-foo.sh`.
152 Interactive mode
153 ----------------
154 When the command enters the interactive mode, it shows the
155 output of the 'status' subcommand, and then goes into its
156 interactive command loop.
158 The command loop shows the list of subcommands available, and
159 gives a prompt "What now> ".  In general, when the prompt ends
160 with a single '>', you can pick only one of the choices given
161 and type return, like this:
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 You also could say "s" or "sta" or "status" above as long as the
171 choice is unique.
173 The main command loop has 6 subcommands (plus help and quit).
175 status::
177    This shows the change between HEAD and index (i.e. what will be
178    committed if you say "git commit"), and between index and
179    working tree files (i.e. what you could stage further before
180    "git commit" using "git-add") for each path.  A sample output
181    looks like this:
183 ------------
184               staged     unstaged path
185      1:       binary      nothing foo.png
186      2:     +403/-35        +1/-1 git-add--interactive.perl
187 ------------
189 It shows that foo.png has differences from HEAD (but that is
190 binary so line count cannot be shown) and there is no
191 difference between indexed copy and the working tree
192 version (if the working tree version were also different,
193 'binary' would have been shown in place of 'nothing').  The
194 other file, git-add--interactive.perl, has 403 lines added
195 and 35 lines deleted if you commit what is in the index, but
196 working tree file has further modifications (one addition and
197 one deletion).
199 update::
201    This shows the status information and gives prompt
202    "Update>>".  When the prompt ends with double '>>', you can
203    make more than one selection, concatenated with whitespace or
204    comma.  Also you can say ranges.  E.g. "2-5 7,9" to choose
205    2,3,4,5,7,9 from the list.  If the second number in a range is
206    omitted, all remaining patches are taken.  E.g. "7-" to choose
207    7,8,9 from the list.  You can say '*' to choose everything.
209 What you chose are then highlighted with '*',
210 like this:
212 ------------
213            staged     unstaged path
214   1:       binary      nothing foo.png
215 * 2:     +403/-35        +1/-1 git-add--interactive.perl
216 ------------
218 To remove selection, prefix the input with `-`
219 like this:
221 ------------
222 Update>> -2
223 ------------
225 After making the selection, answer with an empty line to stage the
226 contents of working tree files for selected paths in the index.
228 revert::
230   This has a very similar UI to 'update', and the staged
231   information for selected paths are reverted to that of the
232   HEAD version.  Reverting new paths makes them untracked.
234 add untracked::
236   This has a very similar UI to 'update' and
237   'revert', and lets you add untracked paths to the index.
239 patch::
241   This lets you choose one path out of 'status' like selection.
242   After choosing the path, it presents diff between the index
243   and the working tree file and asks you if you want to stage
244   the change of each hunk.  You can say:
246        y - stage this hunk
247        n - do not stage this hunk
248        a - stage this and all the remaining hunks in the file
249        d - do not stage this hunk nor any of the remaining hunks in the file
250        j - leave this hunk undecided, see next undecided hunk
251        J - leave this hunk undecided, see next hunk
252        k - leave this hunk undecided, see previous undecided hunk
253        K - leave this hunk undecided, see previous hunk
254        s - split the current hunk into smaller hunks
255        e - manually edit the current hunk
256        ? - print help
258 After deciding the fate for all hunks, if there is any hunk
259 that was chosen, the index is updated with the selected hunks.
261 diff::
263   This lets you review what will be committed (i.e. between
264   HEAD and index).
266 Bugs
267 ----
268 The interactive mode does not work with files whose names contain
269 characters that need C-quoting.  `core.quotepath` configuration can be
270 used to work this limitation around to some degree, but backslash,
271 double-quote and control characters will still have problems.
273 SEE ALSO
274 --------
275 linkgit:git-status[1]
276 linkgit:git-rm[1]
277 linkgit:git-reset[1]
278 linkgit:git-mv[1]
279 linkgit:git-commit[1]
280 linkgit:git-update-index[1]
282 Author
283 ------
284 Written by Linus Torvalds <torvalds@osdl.org>
286 Documentation
287 --------------
288 Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
292 Part of the linkgit:git[1] suite