Git config – konfiguracja git, config, global, local

Git config

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.

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

Git tutorial

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 config

Git show config

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

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 list get

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 local

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

Git config color

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


Jak zostać programistą

8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista.

Jak zostać programistą
No comments
Share:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *