Blog technologiczny od 2014 · 1 111 wpisów
RSS

git config – czyli jak skonfigurować repozytorium do swoich potrzeb

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

zsh
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

zsh
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.

zsh
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:

zsh
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.name i user.email to globalnie ustawione identyfikatory użytkownika dla commitów.
  • core.repositoryformatversion, core.filemode i core.bare to wewnętrzne ustawienia repozytorium.
  • remote.origin.url określa URL repozytorium zdalnego o nazwie origin.
  • Inne ustawienia jak merge.tool i diff.tool wskazują narzędzia do rozwiązywania konfliktów i porównywania zmian.
  • credential.helper umoż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.

Opublikowano · Znalazłeś błąd? Napisz
Piotr Cichosz
Autor

Od ponad 10 lat jestem zaangażowany w świat elektroniki użytkowej, zdobywając szeroką wiedzę i doświadczenie w testowaniu oraz recenzowaniu najnowszych technologii. Moja kariera obejmuje pracę w wiodących firmach technologicznych, gdzie specjalizowałem się…

Czytaj dalej
← Poprzedni Praca na stojąco może być tak samo zła jak siedząca