git config

Odczytuje i ustawia opcje konfiguracji Git na poziomie repo, użytkownika lub systemu.

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 repozytorium origin.

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.