git config to scyzoryk do zarządzania ustawieniami Gita. Odczytujesz i zapisujesz nim opcje, które decydują o tym, kim jesteś dla Gita (imię, e-mail), jak zachowuje się przy łączeniu zmian, jaki edytor odpala i setki innych drobiazgów. Wszystko ląduje w zwykłych plikach tekstowych, a Git po prostu czyta je w ustalonej kolejności. To pierwsza komenda, którą odpalasz po świeżej instalacji — bez ustawionego użytkownika nawet nie zacommitujesz.
Składnia i najważniejsze opcje
Podstawowa forma: git config [poziom] . Klucz ma postać sekcja.nazwa, np. user.email.
--global— ustawienie dla całego twojego konta (plik~/.gitconfig).--local— ustawienie tylko dla bieżącego repo (plik.git/config); to domyślny poziom przy zapisie.--system— ustawienie dla wszystkich użytkowników na maszynie (wymaga uprawnień administratora).--list(skrót-l) — wypisuje wszystkie aktualne ustawienia.--get— pokazuje wartość konkretnego klucza.--add— dokłada kolejną wartość, nie nadpisując poprzedniej.--unset— usuwa ustawienie.--edit(skrót-e) — otwiera plik konfiguracji w edytorze.
Przykłady użycia
git config --global user.name "Jan Kowalski"— ustawia twoje imię używane we wszystkich commitach.git config --global user.email [email protected]— ustawia e-mail podpisujący commity (ten sam, którego używa np. GitHub).git config --global core.editor "code --wait"— mówi Gitowi, żeby do edycji komunikatów używał VS Code zamiast domyślnego vima.git config user.email "[email protected]"— bez flagi poziomu zapisuje lokalnie, więc to repo dostaje inny e-mail niż globalny.git config --get remote.origin.url— sprawdza adres zdalnego repozytoriumorigin.
Częste błędy i pułapki
Najczęstszy klasyk: zapominasz o --global i ustawiasz user.email tylko w jednym repo, a potem dziwisz się, że w innych projektach commity wychodzą puste albo z błędem. Pamiętaj o hierarchii: --local bije --global, a --global bije --system — wygrywa zawsze najbardziej szczegółowy poziom. Jeśli wartość zawiera spacje (jak imię i nazwisko), musisz ująć ją w cudzysłów, inaczej Git potraktuje drugie słowo jako osobny argument. Na Windowsie i Linuksie ścieżka pliku globalnego to ~/.gitconfig, ale plik systemowy potrafi siedzieć w różnych miejscach zależnie od instalatora — nie szukaj go ręcznie, użyj git config --list --show-origin, żeby zobaczyć, skąd pochodzi każde ustawienie. I uważaj z --system: zmieniasz tam config wszystkim na maszynie, więc bez wyraźnej potrzeby trzymaj się --global.
Powiązane komendy: git commit, git remote, git init, git clone.