$ curl /git-config-konfiguracja_

git config – czyli jak skonfigurować repozytorium do swoich potrzeb

Piotr Cichosz @ 17 listopada 2024 4min

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

$ post meta
categories: ["Poradniki", "Programowanie"]
$ whoami
Piotr Cichosz
Piotr Cichosz
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ę w rozwiązywaniu złożonych problemów technicznych oraz doradzaniu w kwestiach wyboru sprzętu. Na moim blogu publikuję dokładne poradniki oraz recenzje urządzeń takich jak smartfony, routery i słuchawki, oferując czytelnikom rzetelne informacje oparte na wieloletnim doświadczeniu i skrupulatnych testach. Moim celem jest dostarczanie treści, które pomagają w podejmowaniu świadomych decyzji zakupowych oraz pełnym wykorzystaniu możliwości nowoczesnej elektroniki.
$ git log --neighbors
[PREV] Praca na stojąco może być tak samo zła jak siedząca 12 listopada 2024 [NEXT] Jak wykorzystać ChatGPT (sztuczną inteligencję) do nauki języka angielskiego? Przykładowe prompty! 17 listopada 2024