6 git-config - Repositoryeigene oder globale Optionen auslesen und setzen
12 'git config' [<Datei-Option>] [Typ] [-z|--null] Name [Wert [Wert_Regex]]
13 'git config' [<Datei-Option>] [Typ] --add Name Wert
14 'git config' [<Datei-Option>] [Typ] --replace-all Name [Wert [Wert_Regex]]
15 'git config' [<Datei-Option>] [Typ] [-z|--null] --get Name [Wert_Regex]
16 'git config' [<Datei-Option>] [Typ] [-z|--null] --get-all Name [Wert_Regex]
17 'git config' [<Datei-Option>] [Typ] [-z|--null] --get-regexp Name_Regex [Wert_Regex]
18 'git config' [<Datei-Option>] --unset Name [Wert_Regex]
19 'git config' [<Datei-Option>] --unset-all Name [Wert_Regex]
20 'git config' [<Datei-Option>] --rename-section alter_Name neuer_Name
21 'git config' [<Datei-Option>] --remove-section Name
22 'git config' [<Datei-Option>] [-z|--null] -l | --list
23 'git config' [<Datei-Option>] --get-color Name [Standard]
24 'git config' [<Datei-Option>] --get-colorbool Name [Standardausgabe-ist-tty]
28 Sie können mit diesem Befehl Optionen abfragen/setzen/ersetzen/leeren. Der
29 Name ist eigentlich das Abteil und der Schlüssel, durch einen Punkt getrennt
30 und der Wert wird escapet.
32 Mehrere Linien können zu einer Option mit der Option '--add' hinzugefügt
33 werden. Falls Sie eine Option ändern oder leeren möchten, was bei
34 mehreren Zeilen durchaus vorkommen kann, muss eine POSIX-Regexp
35 `Wert_Regex` angegeben werden. Nur die vorhandenen Werte, welche auf die
36 Regex passen, werden berücksichtigt. Falls Sie Linien bearbeiten möchten,
37 die *nicht* auf die Regex passen, stellen Sie einfach ein einzelnes
38 Ausrufezeichen vor den Ausdruck (Siehe auch <<EXAMPLES>>).
40 Der Typ kann entweder '--int' oder '--bool' sein, was 'git-config' zum
41 versichern, dass die Variablen dem gegebenen Typ entsprechen und sie
42 eventuell in den richtigen Typ (einfache Dezimalzahl für int, ein "true"
43 oder "false"-String für bool) konvertieren, veranlasst. Falls kein Typ
44 angegeben wird, werden keine Überprüfungen am Wert vorgenommen.
46 Die Datei-Option kann eine von '--system', '--global' oder '--file'
47 sein, welche angibt, an welchem Ort die Werte ausgelesen oder
48 hineingeschrieben ewrden. Der Standard ist, die sich im aktuellen
49 Repository befindliche .git/config, wenn nicht anders mit GIT_DIR
50 und GIT_CONFIG definiert, zu verwenden (Siehe auch <<FILES>>).
52 Dieser Befehl schlägt fehl wenn:
54 . Die Konfigurationsdatei falsch ist,
55 . Die Konfigurationsdatei nicht geschrieben werden kann,
56 . Kein Abteil angegeben wurde,
57 . Das Abteil oder der Schlüssel falsch ist,
58 . Sie versuchen, eine Option, die nicht existiert, zu leeren.
59 . Sie eine Option, die auf mehrere Zeilen passt, versuchen zu leeren/setzen, oder
60 . Wenn Sie die Option '--global' verwenden, ohne dass $HOME gesetzt ist.
67 Das Standardverhalten ist, höchstens eine Zeile zu ersetzen.
68 Dies ersetzt alle Zeilen, die dem Schlüssel entsprechen (und
69 eventuell der Wert_Regex).
72 Fügt eine neue Zeile zu der Option hinzu, ohne andere, ebenfalls
73 vorhandene Werte zu verändern. Dies ist das Selbe, wie '^$' als
77 Zeigt den Wert für den angegebenen Schlüssel an (Optional auch
78 durch eine Regex, die auf den Wert passt, gefiltert). Gibt
79 Fehlercode 1 zurück, wenn der Schlüssel nicht gefunden wurde und
80 Fehlercode 2 wenn mehrere Schlüsselwerte gefunden wurden.
83 Wie --get, aber schlägt nicht fehl, wenn die Zahl der Werte für den
84 Schlüssel nicht exakt eins ist.
87 Wie --get-all, aber interpretiert den Namen als einen regulären Ausdruck.
88 Zeigt auch die Schlüsselnamen an.
91 Um Optionen zu schreiben: Es wird in die Globale Datei ~/.gitconfig
92 geschrieben, anstatt in die Repositoryeigene .git/config
94 Um Optionen zu lesen: Es wird nur aus der globalen Datei ~/.gitconfig
95 gelesen, anstelle aller verfügbaren Dateien.
100 Um Optionen zu schreiben: Es wird in die systemweite Datei
101 ${prefix}/etc/gitconfig anstatt in die Repositoryeigene .git/config
103 Um Optionen zu lesen: Es wird nur aus der systemweiten Datei
104 ${prefix}/etc/gitconfig gelesen, anstelle aller verfügbaren Dateien.
106 Siehe auch <<FILES>>.
110 Verwende die angegebene Konfigurationsdatei anstatt der in GIT_CONFIG
114 Lösche das gegebene Abteil aus der Konfigurationsdatei.
117 Gib dem gegebenen Abteil einen neuen Namen.
120 Lösche die Zeile, auf die der Schlüssel passt, aus der Konfigurationsdatei.
123 Lösche alle Zeilen, auf die der Schlüssel passt, aus der Konfigurationsdatei.
127 Zeige alle in der Konfigurationsdatei gesetzten Variablen an.
130 'git-config' wird sich versichern, dass die Ausgabe entweder
131 "true" oder "false" ist.
134 'git-config' wird sich versichern, dass die Ausgabe eine
135 einfache Dezimalzahl ist. Ein optionaler Suffix von 'k',
136 'm' oder 'g' sorgt dafür, dass der Wert vor der Ausgabe
137 mit 1024, 1048576 oder 1073741824 multipliziert wird.
141 Für alle Optionen, die Werte und/oder Schlüssel ausgeben,
142 immer die Werte mit einem Null-Zeichen beenden (Anstatt
143 eines Newline-Zeichens). Benutze Newline dafür als
144 Trenner zwischen Schlüssel und Wert. Dies erlaubt sicheres
145 Parsen der Ausgabe, ohne verwirrt zu werden, beispielsweise
146 bei Werten, welche Zeilenumbrüche enthalten.
148 --get-colorbool Name [Standardausgabe-ist-tty]::
149 Finde die Farbeinstellung für `Name` (Beispielsweise `color.diff`)
150 und gib "true" oder "false" aus. `Standardausgabe-ist-tty` sollte
151 entweder "true" oder "false" sein und wird in Betracht gezogen, wenn
152 in der Konfigurationsdatei "auto" steht. Falls `Standardausgabe-ist-tty`
153 fehlt, dann wird die Standardausgabe des Programmes selbst überprüft
154 und gibt Status 0 zurück, falls Farbe verwendet wird, andernfalls
155 wird Status 1 zurückgegeben.
156 Wenn die Farbeinstellung für `Name` undefiniert ist, verwendet der
157 Befehl `color.ui` als Fallback.
159 --get-color Name Standard::
160 Find die Farbe die für `Name` konfiguriert wurde (Beispielsweise
161 `color.diff.new`) und gib sie als ANSI Farb-Escapesequenz auf der
162 Standardausgabe aus. Der optionale Parameter `Standard` wird
163 verwendet, wenn keine Farbe für `Name` konfiguriert wurde.
169 Wenn nicht explizit mit '--file' verändert, gibt es drei Dateien,
170 in welchen 'git-config' nach Optionen sucht:
173 Die repositoryspezifische Konfigurationsdatei (Der Dateiname
174 ist natürlich relativ zur Repositorywurzel, nicht dem
178 Benutzerspezifische Konfigurationsdatei. Auch "globale"
179 Konfigurationsdatei genannt.
181 ${prefix}/etc/gitconfig::
182 Systemweite Konfigurationsdatei.
184 Falls keine weiteren Optionen gegeben werden, werden alle Leseoperationen
185 auf allen verfügbaren Dateien ausgeführt. Wenn die globale oder die
186 systemweite Konfigurationsdatei fehlen, werden sie ignoriert. Falls
187 die repositoryeigene Konfigurationsdatei nicht verfügbar oder lesbar
188 ist wird 'git-config' mit einem Fehlercode, der nicht null ist, beenden.
189 In beiden Fällen jedoch wird keine Fehlermeldung ausgegeben.
191 Alle Schreiboperationen werden standardmässig auf die repositoryspezifische
192 Konfigurationsdatei ausgeführt. Beachten Sie, dass dies auch Optionen wie
193 '--replace-all' und '--unset' betrifft. *'git-config' verändert nur eine
194 Datei in einem Aufruf*.
196 Sie können diese Regeln entweder mit Optionen auf der Kommandozeile oder durch
197 Umgebungsvariablen überschreiben. Die Optionen '--global' und die '--system'
198 beschränken die Datei auf die globale, respektive die systemweite
199 Konfigurationsdatei. Die Umgebungsvariable GIT_CONFIG hat einen ähnlichen
200 Effekt, aber Sie können jeden Dateinamen den Sie wollen, angeben.
207 Beziehe die Konfiguration aus der gegebenen Datei anstelle von
208 .git/config. Verwenden der Option "--global" erzwingt dies zu
209 ~/.gitconfig. Das Verwenden der Option "--system" erzwingt dies
210 zu ${prefix}/etc/gitconfig.
212 Siehe auch <<FILES>>.
219 Es ist eine folgende .git/config-Datei gegeben:
222 # Dies ist die Konfigurationsdatei und
223 # ein '#' oder ein ';' stellt einen
229 ; Vertraue den Dateimodi nicht
232 ; Unser diff-Algorithmus
234 external = /usr/local/bin/diff-wrapper
239 gitproxy="proxy-Befehl" for kernel.org
240 gitproxy=default-proxy ; für den Rest
242 Sie können den Dateimodus auf "true" setzen mit
245 % git config core.filemode true
248 Die hypothetischen Proxybefehlseinträge haben ein Anhängel, um unterscheiden
249 zu können, auf welche URL sie sich beziehen. Hier folgt, wie Sie den
250 Eintrag für kernel.org zu "ssh" ändern.
253 % git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'
256 Dies stellt sicher, dass nur das Schlüssel/Wertpaar für kernel.org
259 Um den Eintrag für Umbenennungen zu löschen, verwenden Sie
262 % git config --unset diff.renames
265 Falls Sie einen Eintrag für eine Multivar (Eine Variable mit mehreren
266 Einträgen), löschen möchten, müssen Sie eine Regex für den Wert
267 exakt einer Zeile angeben.
269 Um den Wert für einen gegebenen Schlüssel abzufragen, benutzen Sie
272 % git config --get core.filemode
278 % git config core.filemode
281 oder, um eine Multivar abzufragen:
284 % git config --get core.gitproxy "for kernel.org$"
287 Falls Sie alle Werte einer Multivar wissen möchten, verwenden Sie:
290 % git config --get-all core.gitproxy
293 Wenn Sie gerne gefährlich leben, können Sie *alle* core.gitproxy-Einträge
294 mit einem neuen ersetzen durch
297 % git config --replace-all core.gitproxy ssh
300 Wenn Sie jedoch wirklich nur eine Zeile für den Standardproxy verändern
301 möchten, beispielsweise diejenige ohne ein Anhängsel "for ...", können
305 % git config core.gitproxy ssh '! for '
308 Um wirklich die Werte mit einem Ausrufezeichen auszulesen, müssen Sie
312 % git config section.key value '[!]'
315 Um einen neuen Proxy hinzuzufügen, ohne einen der anderen der bereits
316 vorhandenen zu verändern, benutzen Sie
319 % git config core.gitproxy '"proxy-command" for example.com'
322 Ein Beispiel, um angepasste Farbe der Konfigurationsdatei in Ihrem
327 WS=$(git config --get-color color.diff.whitespace "blue reverse")
328 RESET=$(git config --get-color "" "reset")
329 echo "${WS}Ihre Whitespace-Farbe oder invertiertes Blau${RESET}"
332 include::config.txt[]
337 Geschrieben von Johannes Schindelin <Johannes.Schindelin@gmx.de>
341 Dokumentation von Johannes Schindelin, Petr Baudis und der git-Mailingliste <git@vger.kernel.org>.
342 TODO: Abklären, ob einfügen:
343 Übersetzt von Fabio Scotoni <fabio@esse.ch>
347 Teil der linkgit:git[1]-Suite.