Czasami bywa tak, że w zależności od projektu (repozytorium) chcemy zmienić niektóre opcje w git. W takim przypadku z pomocą przychodzi komenda git config, która pozwala zmienić ustawienia zarówno te lokalne, globalne i systemowe. W tym wpisie opiszę kilka przydatnym opcji, które mogą okazać się pomocne w codziennej pracy.
Komenda git config jest używana do ustawiania i sprawdzania różnych opcji konfiguracji Git. Opcje te kontrolują różne aspekty działania oraz wyglądu Git, w tym informacje o użytkowniku, preferencje edytora, ustawienia specyficzne dla repozytorium i inne.
Ten poradnik obejmuje najczęstsze zastosowania komendy git config.
Konfiguracja nazwy użytkownika i adresu e-mail za pomocą git config
Przed rozpoczęciem commitowania w Git, ważne jest ustawienie nazwy użytkownika i adresu e-mail, ponieważ każda zmiana (commit) wykorzystuje taką informację czy tego chcemy czy nie.
Globalne ustawienie nazwy użytkownika i adresu e-mail
git: ustawienie imienia
git config --global user.name "Twoje Imię"
Powyższa komenda ustawia nazwę, która będzie przypisywana do commitów i tagów jako autor. „Twoje Imię” należy zastąpić swoją nazwą lub imieniem i nazwiem, jakim chcesz wyświetlany w commitach. Flaga --global oznacza, że to ustawienie jest stosowane we wszystkich repozytoriach Git na komputerze dla bieżącego użytkownika.
git: ustawienie adresu e-mail
git config --global user.email "email@domena.com"
Tutaj z kolei ustawiamy adres e-mail dla wszystkich repozytoriów Git na twoim komputerze. „email@domena.com” należy zastąpić rzeczywistym adresem e-mail. Ten e-mail jest używany w commitach i jest ważny dla serwisów takich jak GitHub, GitLab lub Bitbucket, aby połączyć twoje commity z kontem na tych platformach.
git – ustawienie dla konkretnego repozytorium
Czasami bywa tak, że dla innego projektu chcemy identyfikować się jako ktoś inny. To może być częsty przypadek gdy robimy w różnych projektach firm i musimy się identyfikować innym adresem e-mail. W takim przypadku wystarczy, że użyjemy polecenia bez flagi --global.
git config user.name "Twoje Imię" git config user.email "email@domena.com"
--list czyli wyświetlanie całej konfiguracji
Po uruchomieniu komendy git config --list w konsoli Git wyświetli wszystkie aktualnie ustawienia, w tym lokalne, globalne i systemowe.
Przykładowy output po wykonaniu powyższej komendy:
user.name=Twoje Imię user.email=twój_email@przykład.com core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true remote.origin.url=https://github.com/username/repository.git
Powyższa lista pokazuje zestawienie ustawień globalnych jak i lokalnych:
user.nameiuser.emailto globalnie ustawione identyfikatory użytkownika dla commitów.core.repositoryformatversion,core.filemodeicore.bareto wewnętrzne ustawienia repozytorium.remote.origin.urlokreśla URL repozytorium zdalnego o nazwieorigin.- Inne ustawienia jak
merge.toolidiff.toolwskazują narzędzia do rozwiązywania konfliktów i porównywania zmian. credential.helperumożliwia Git przechowywanie hasła przez określony czas.
Ta komenda jest przydatna do weryfikacji aktualnych konfiguracji lub diagnostyki nietypowego zachowania Git.
Wyświetlanie konkretnego ustawienia
Możemy także sprawdzić konkretne ustawienia, podając je jako argument komendy git config. Na przykład polecenie git config user.name wyświetli aktualnie ustawioną nazwę użytkownika.
Poziomy konfiguracji
git config działa na trzech poziomach: lokalnym, globalnym i systemowym. W praktyce korzysta się z dwóch pierwszych. Nigdy nie musiałem użyć tego ostatniego.
Konfiguracja lokalna (--local)
- Zakres: Konfiguracja lokalna dotyczy tylko określonego repozytorium. Każde repozytorium może mieć unikalną konfigurację lokalną. Konfiguracje lokalne mają pierwszeństwo przed globalnymi.
- Przykład: Ustawienie Vim jako edytora dla tego repozytorium.
git config --local core.editor vim
Konfiguracja globalna (--global)
- Zakres: Konfiguracja globalna obejmuje wszystkie repozytoria użytkownika na komputerze.
- Przykład: Ustawienie adresu e-mail dla wszystkich repozytoriów.
git config --global user.email "email@domena.com"
Konfiguracja systemowa (--system)
- Zakres: Konfiguracja systemowa obowiązuje wszystkich użytkowników na komputerze.
- Przykład: Wyłączenie automatycznej konwersji zakończeń linii dla wszystkich użytkowników.
sudo git config --system core.autocrlf false
Mam nadzieję, że artykuł przypadł do gustu. W komentarzach chwalcie się w jaki sposób korzystacie z git config.