Git jako najpopularniejszy rozproszony system kontroli wersji – może się pochwalić rozbudowanym systemem konfiguracji, która w wygodny sposób pozwala ustawić niemalże wszystkie podstawowe wartości.
W ramach tego materiału dowiesz się jak pracować z konfiguracją git (ang. git config) – zarówno na poziomie lokalnym pojedynczego repozytorium, jak i globalnym – czyli wszystkich repozytoriów git znajdujących się na dysku.
Spis treści
- 1 Git config – konfiguracja git, config, global, local – wprowadzenie
- 2 Systemy kontroli wersji kodu źródłowego – Git
- 3 Git install – instalacja Git
- 4 Git config – konfiguracja git, config, global, local
- 5 Git show config
- 6 Git config – poziomy
- 7 Git config
- 8 Git config – konfiguracja git, config, global, local – podsumowanie
- 9 20+ BONUSOWYCH materiałów z programowania
Git config – konfiguracja git, config, global, local – wprowadzenie
Z tego materiału dowiesz się:
- Jak działa konfiguracja w git?
- Czym różni się poziom konfiguracji lokalny (ang. git config local) od globalnego (ang. git config global) i systemowego (ang. git config system)?
- Jak ustawić takie podstawowe zmienne konfiguracyjne jak: username, czy e-mail użytkownika – oraz bardziej zaawansowane jak, chociażby kolor wykorzystywany w historii commitów?
Systemy kontroli wersji kodu źródłowego – Git

Systemy kontroli wersji odpowiedzialne są za śledzenie wszystkich zmian dokonywanych w plikach. Za ich pomocą można podejrzeć wcześniej dokonane zmiany oraz, w razie potrzeby, powrócić do starszej wersji pliku. Dzięki nim można również sprawdzić kto i kiedy dokonał tych zmian.
Obecnie Git jest najpopularniejszym rozproszonym systemem kontroli wersji. System pierwotnie został stworzony przez Linusa Torvalds jako narzędzie wspomagające rozwój jądra Linux i od tego czasu sukcesywnie zyskuje na popularności.
Git oficjalnie został wydany w 2005 roku i obecnie jest rozwijany na zasadach wolnej licencji – a co za tym idzie, swobodnie możemy go wykorzystywać w naszych projektach.
W ramach tego materiału zajmiemy się przede wszystkim pracą z Gitem i zdalnym repozytorium na przykładzie GitHub – natomiast kompletny tutorial Git znajdziesz poniżej.
➡ ZOBACZ 👉: Git tutorial | stash, rebase, commit, merge, checkout, push i clone
Git install – instalacja Git
Jeżeli nie masz jeszcze gita zainstalowanego lokalnie – szybko możesz to nadrobić.
W poniższym materiale znajdziesz instrukcję, jak można to zrobić.
➡ ZOBACZ 👉: Install Git – Instalacja Git, Windows, Ubuntu – Bash, GUI
Git config – konfiguracja git, config, global, local
Konfiguracja Gita (ang. git config) z założenia pozwala nam na modyfikację podstawowych ustawień związanych z korzystaniem z samego repozytorium – jak, chociażby domyślny program do rozwiązywania konfliktów, czy nasze dane jako użytkownika (nazwa, e-mail itp.).
Standardowo już – zacznijmy od wyświetlenia pomocy, żeby podejrzeć dostępne opcje.
git config
lub
git config --help

Git show config
Wyświetlmy w takim razie wszystkie opcje konfiguracyjne, jakie mamy obecnie ustawione (ang. git config list):
git config --list

Zobacz, że to, co tutaj widzimy to swego rodzaju mapa – pary kluczy oraz wartości.
Przykładowo:
Klucz => user.name Wartość => tw
Jeżeli jednak dobrze się przyjrzysz – to widać, że klucz: user.name się powtarza.
Mało tego – takie powtórzone klucze mogą wystąpić nawet więcej niż dwa razy 🙂
I co ciekawe nie ma w tym nic złego – jest to właśnie związane z możliwością uszczegóławiania naszej konfiguracji na różnych poziomach.

Git config – poziomy
W tym miejscu warto wspomnieć, że git pozwala na ustawienie konfiguracji na różnych poziomach – z których każdy kolejny jest niejako uszczegółowieniem poprzedniego.
- Git config system – najbardziej ogólne ustawienia, które są dostępne w całym systemie operacyjnym;
- Git config global – ustawienia specyficzne dla użytkownika systemu operacyjnego;
- Git config local – najbardziej specyficzne ustawienia – z punktu widzenia pojedynczego repozytorium.
To, co wyświetliliśmy przed chwilą – korzystając z komendy: git config –list, to tak naprawdę połączenie wszystkich tych poziomów. Zaczynamy od najbardziej ogólnego poziomu i niejako nakładamy na niego kolejne już bardziej specyficzne.
Powtórzone pozycje jak, chociażby user.name będą nadpisywane i ostatecznie zostanie uwzględniona, najbardziej specyficzna wartość – czyli ta znajdująca się na samym dole.
Istnieją również bardziej specyficzne opcje przechowywania konfiguracji jak file, blob i worktree – ale pominiemy je w tych rozważaniach. Jeżeli chcesz o nich doczytać, zapraszam do dokumentacji Git.
Git config system
Najbardziej ogólne ustawienia, które dostępne będą dla wszystkich użytkowników naszego komputera.
Przechowywane są w pliku konfiguracyjnym – $(prefix)/etc/gitconfig.
Osobiście dosyć rzadko korzystam akurat z tego poziomu konfiguracji – najczęściej ustawiam coś globalnie dla wszystkich moich repozytoriów (git config global) lub wykorzystuję specyficzną konfigurację w ramach pojedynczego repo.
Zapis:
git config --system user.name Tomasz Woliński
Odczyt:
git config --system user.name
W razie potrzeby możemy też ręcznie edytować plik: $(prefix)/etc/gitconfig
Git config global
Git config global – czyli ustawienia globalne dla aktualnego użytkownika systemu operacyjnego.
Tutaj sprawa wygląda bardzo podobnie – również możemy zmodyfikować i odczytać te wartości korzystając z opcji git config – zmieniamy jedynie przełącznik na –global.
W razie potrzeby możemy też ręcznie zmodyfikować plik konfiguracyjny .gitconfig, który znajduje się w katalogu domowym użytkownika.
git config --global user.name git config --global user.name Tomasz Woliński nano /home/tw/.gitconfig
Git config local
I został nam najbardziej specyficzny poziom konfiguracji – git config local – czyli konfiguracja pojedynczego repozytorium. Tutaj przechowujemy już bardzo specyficzne zmienne, które chcemy wykorzystać tylko w ramach aktualnego repo.
Analogicznie jak w pozostałych poziomach możemy modyfikować te ustawienia przez konsolę (przełącznik –local) lub przez modyfikację pliku konfiguracyjnego, który znajduje się już w samym repozytorium (plik .git/config).
git config --local user.name git config --local user.name Tomasz Woliński nano .git/config
Swoją drogą – akurat w konfiguracji lokalnej przechowujemy bardzo dużo innych ciekawych informacji – jak, chociażby połączenie do zdalnych repozytoriów.

Git config
Git config user, git config username
git config --local user.name git config --global user.name git config --system user.name
nano .git/config nano /home/tw/.gitconfig nano /etc/gitconfig
Git config email
git config --local user.email git config --global user.email git config --system user.email
Git config color
I na koniec obiecane wcześniej kolorowanie.
Podstawowa opcja do kolorowania, którą możemy wykorzystać to: color.ui

Prawda, że dużo lepiej? 🙂
Git config – konfiguracja git, config, global, local – podsumowanie
W ramach tego materiału przećwiczyliśmy możliwość wpływania na nasze repozytoria przez wbudowaną konfigurację.
Jeżeli chcesz kontynuować swoją przygodę z gitem – to zapraszam do dodatkowych materiałów:
➡ ZOBACZ 👉: Git tutorial | stash, rebase, commit, merge, checkout, push i clone
20+ BONUSOWYCH materiałów z programowania
e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!


