git config
W tym dokumencie przyjrzymy się dogłębnie poleceniu git config
. Krótko omówiliśmy użycie git config
na naszej stronie Konfigurowanie repozytorium. Polecenie git config
jest wygodną funkcją, która służy do ustawiania wartości konfiguracji Git na poziomie projektu globalnego lub lokalnego. Pliki tekstowe .gitconfig
odpowiadają za te poziomy konfiguracji. Wykonanie polecenia git config
zmodyfikuje plik tekstowy konfiguracji. Omówimy typowe ustawienia konfiguracji, takie jak e-mail, nazwa użytkownika, i edytor. Opowiemy też o aliasach Git, które umożliwiają tworzenie skrótów do często używanych operacji Git. Znajomość polecenia git config
i różnych ustawień konfiguracji Git pomoże Ci stworzyć zaawansowany, niestandardowy przepływ pracy Git.
Użycie
Najbardziej podstawowym przypadkiem użycia polecenia git config
jest wywołanie go z nazwą konfiguracji, która wyświetli ustawioną wartość pod tą nazwą. Nazwy konfiguracji to ciągi rozdzielane kropkami składające się z „sekcji” i „klucza” na podstawie ich hierarchii. Na przykład: użytkownik.email
git config user.email
W tym przykładzie „email” jest właściwością podrzędną bloku konfiguracji użytkownika. Spowoduje to zwrócenie skonfigurowanego adresu e-mail, jeśli taki istnieje, który Git skojarzy z lokalnie utworzonymi commitami.
Poziomy i pliki narzędzia git config
Zanim omówimy użycie polecenia git config
, poświęćmy chwilę, aby poznać poziomy konfiguracji. Polecenie git config
może przyjmować argumenty określające, na którym poziomie konfiguracji ma działać. Dostępne są następujące poziomy konfiguracji:
materiały pokrewne
Gałąź Git
POZNAJ ROZWIĄZANIE
Poznaj środowisko Git z rozwiązaniem Bitbucket Cloud
--local
Domyślnie polecenie git config
będzie zapisywać na poziomie lokalnym, jeśli nie podano opcji konfiguracji. Konfiguracja poziomu lokalnego jest stosowana do repozytorium kontekstowego, w którym wykonywane jest polecenie git config
. Lokalne wartości konfiguracyjne są przechowywane w pliku, który można znaleźć w repozytorium w katalogu .git: .git/config
-
--global
Konfiguracja poziomu globalnego jest powiązana z konkretnym użytkownikiem, co oznacza, że jest stosowana do użytkownika systemu operacyjnego. Globalne wartości konfiguracyjne są przechowywane w pliku, który znajduje się w katalogu domowym użytkownika. ~ /.gitconfig
w systemach Unix i C:\Users\
w systemach windows
-
--system
Konfiguracja na poziomie systemu jest stosowana na całym komputerze. Dotyczy to wszystkich użytkowników systemu operacyjnego i wszystkich repozytoriów. Plik konfiguracyjny na poziomie systemu znajduje się w pliku gitconfig
poza katalogiem głównym systemu. $(prefix)/etc/gitconfig
w systemach Unix. W systemach Windows ten plik można znaleźć w folderze C:\Documents and Settings\All Users\Application Data\Git\config
w systemie Windows XP i C:\ProgramData\Git\config
w systemie Windows Vista i nowszych wersjach.
Kolejność priorytetów dla poziomów konfiguracji to: lokalny, globalny i systemowy. Oznacza to, że Git zaczyna szukać wartości konfiguracji na poziomie lokalnym, a następnie przechodzi wyżej, aż do poziomu systemu.
Zapisywanie wartości
Rozwijając to, co już wiemy o poleceniu git config
, spójrzmy na przykład zapisywania wartości:
git config --global user.email "your_email@example.com"
Ten przykład zapisuje wartość twój_email@przyklad.com
do nazwy konfiguracji użytkownik.email
. Flaga --global
jest użyta w celu ustawienia tej wartości dla bieżącego użytkownika systemu operacyjnego.
git config editor - core.editor
Wiele poleceń Git uruchomia edytor tekstu, aby umożliwić dalsze wprowadzanie danych. Jednym z najczęstszych przypadków użycia polecenia git config
jest konfigurowanie edytora, którego ma używać Git. Poniżej znajduje się tabela popularnych edytorów i pasujących poleceń git config
:
Edytor | Polecenie config |
---|---|
Atom | Polecenie config |
Emacs | Polecenie config |
Nano | Polecenie config |
Vim | Polecenie config |
Sublime Text (Mac) | Polecenie config |
Sublime Text (Windows, 32-bitowy) | Polecenie config |
Sublime Text (Windows, 64-bitowy) | Polecenie config |
Textmate | Polecenie config |
Narzędzia do scalania
W przypadku konfliktu scalania Git uruchomi narzędzie do scalania. Domyślnie Git używa wewnętrznej implementacji typowego programu różnicowego Unix. Wewnętrzne narzędzie diff w Git jest minimalną przeglądarką konfliktów scalania. Istnieje wiele zewnętrznych rozwiązań konfliktów scalania innych firm, które mogą zostać użyte zamiast niego. Aby poznać różne narzędzia do scalania i konfiguracji, zobacz nasze porady i omówienie narzędzi do rozwiązywania problemów z Git.
git config --global merge.tool kdiff3
Kolorowe dane wyjściowe
Git obsługuje kolorową składnię danych wyjściowych terminala, co pomaga w szybkim czytaniu danych wyjściowych Git. Możesz dostosować dane wyjściowe Git, aby użyć spersonalizowanego motywu kolorystycznego. Polecenie git config
służy do ustawiania tych wartości kolorów.
color.ui
Jest to główna zmienna dla kolorów Git. Ustawienie wartości false spowoduje wyłączenie kolorowej składni danych wyjściowych w terminalu Git.
$ git config --global color.ui false
Domyślna wartość color.ui
to auto — powoduje zastosowanie kolorów do bieżącego strumienia danych wyjściowych w terminalu. Ustawienie to pominie oznaczanie kolorami danych wyjściowych, jeśli strumień danych wyjściowy zostanie przekierowany do pliku lub innego procesu.
Możesz ustawić wartość color.ui
na always (zawsze), aby również stosować oznaczanie kolorami danych wyjściowych podczas przekierowania strumienia danych wyjściowych do plików lub potoków. Może to przypadkowo powodować problemy, ponieważ pipe odbiorczy może nie oczekiwać danych wejściowych oznaczonych kolorami.
Wartości kolorów Git
Oprócz color.ui
istnieje wiele innych szczegółowych ustawień kolorów. Podobnie jak w przypadku color.ui
, te ustawienia kolorów można ustawić na false, auto lub always. Ustawienia kolorów mogą również mieć określoną wartość koloru. Przykłady obsługiwanych wartości kolorów:
- normalny
- czarny
- czerwony
- zielony
- żółty
- niebieski
- magenta
- cyjan
- biały
Kolory można również określać jako kody szesnastkowe, takie jak #ff0000, lub wartości kolorów ANSI 256, jeśli są obsługiwane przez terminal.
Konfiguracja kolorów w Git
1. color.branch
- Konfiguruje kolor wyjściowy polecenia Git branch.
2. color.branch.
<slot
>
- Ta wartość ma również zastosowanie do wyjścia gałęzi Git. <
slot
> przyjmuje jedną z następujących wartości:- 1. current: bieżąca gałąź,
- 2. local: lokalna gałąź,
- 3. remote: odwołanie do zdalnej gałęzi w refs/remotes,
- 4. upstream: gałąź śledzenia gałęzi nadrzędnej,
- 5. plain: dowolne inne odwołanie.
3. color.diff
- Stosuje kolory do danych wyjściowych poleceń
git diff
,git log
igit show
.
4. color.diff
.<slot
>
- Konfiguracja wartości <
slot
> w plikucolor.diff
informuje narzędzie git, dla której części poprawki użyć określony kolor.- 1. context: tekst kontekstu porównania. Kontekst Git to wiersze zawartości tekstowej wyświetlane w porównaniu różnicowym lub poprawce, w której wyróżnione są zmiany.
- 2. plain: synonim kontekstu.
- 3. meta: stosuje kolor do metainformacji porównania.
- 4. frag: stosuje kolor do nagłówka fragmentu ze zmianami lub funkcji w nagłówku fragmentu ze zmianami.
- 5. old: stosuje kolor do usuniętych wierszy w porównaniu.
- 6. new: stosuje kolor do dodanych wierszy w porównaniu.
- 7. commit: stosuje kolor do nagłówków commitów w porównaniu.
- 8. whitespace: ustawia kolor wszystkich białych znaków odstępu w porównaniu.
5. color.decorate.
<slot
>
- Dostosowuje oznaczanie kolorami składni danych wyjściowych polecenia
git log --decorate
. Obsługiwane wartości zmiennej <slot
> to:branch
,remoteBranch
,tag
,stash
orazHEAD
. Mają one zastosowanie odpowiednio do lokalnych oddziałów, oddziałów zdalnego śledzenia, tagów, zmian dodanych do schowka i elementówHEAD
.
6. color.grep
- Stosuje kolor do danych wyjściowych polecenia git grep.
7. color.grep.
<slot
>
- Również dotyczy polecenia git grep. Zmienna <
slot
> określa, do której części danych wyjściowych polecenia grep zastosować kolor.- 1. context: niepasujący tekst w wierszach kontekstu
- 2. filename: prefiks nazwy pliku
- 3. function: wiersze nazwy funkcji
- 4. linenumber: prefiks numeru wiersza
- 5. match: pasujący tekst
- 6. matchContext: pasujący tekst w wierszach kontekstu
- 7. matchSelected: pasujący tekst w wybranych wierszach
- 8. selected: niepasujący tekst w wybranych wierszach
- 9. separator: separatory między polami w wierszu (:, -, and =) i między fragmentami ze zmianami (--)
8. color.interactive
- Ta zmienna stosuje kolor do interaktywnych monitów i ekranów. Przykładami są
git add --interactive
igit clean --interactive
9. color.interactive.<slot
>
- Zmienną <
slot
> można określić w celu bardziej precyzyjnego stosowania ustawień do danych wyjściowych. Dostępne wartości zmiennej <slot
> to: prompt, header, help, error. Każda z nich działa na odpowiednie interaktywne dane wyjściowe.
10. color.pager
- Włącza lub wyłącza kolorową składnię danych wyjściowych, gdy używane jest stronicowanie.
11. color.showBranch
- Włącza lub wyłącza kolorową składnię danych wyjściowych polecenia git show branch.
12. color.status
- Wartość logiczna, która włącza lub wyłącza wyświetlanie kolorów dla statusu Git.
13. color.status.<
slot
>
Służy do ustawiania koloru niestandardowego dla określonych elementów statusu git. Zmienna <slot
> obsługuje następujące wartości:
1. header
- Stosuje ustawienie do tekstu nagłówka obszaru statusu.
2. added lub updated
- Stosują ustawienie do plików, które zostały dodane, ale nie zatwierdzone.
3. changed
- Stosuje ustawienie do plików, które zostały zmodyfikowane, ale nie dodane do indeksu git.
4. untracked
- Stosuje ustawienie do plików, które nie są śledzone przez Git.
5. branch
- Stosuje kolor do bieżącej gałęzi.
6. nobranch
- Kolor, w którym wyświetlane jest ostrzeżenie o braku gałęzi.
7. unmerged
- Stosuje kolor do plików, które mają niescalone zmiany.
Aliasy
Być może znasz pojęcie aliasów z wiersza polecenia systemu operacyjnego. Jeśli nie, są to niestandardowe skróty określające polecenie rozwijane do dłuższego polecenia lub kilku połączonych poleceń. Aliasy oszczędzają czas i nakład pracy związane z wpisywaniem często używanych poleceń. Git ma własny system aliasów. Typowym przypadkiem użycia aliasów Git jest skrócenie polecenia commit. Aliasy Git są przechowywane w plikach konfiguracyjnych Git. Oznacza to, że możesz użyć polecenia git config
do konfigurowania aliasów.
git config --global alias.ci commit
Ten przykład tworzy alias ci dla polecenia git commit
. Następnie można wywołać git commit
, wykonując git ci
. Aliasy mogą również odwoływać się do innych aliasów, aby tworzyć zaawansowane kombinacje.
git config --global alias.amend ci --amend
Ten przykład tworzy alias amend, który używa aliasu ci w nowym aliasie, który korzystającym z flagi --amend
.
Formatowanie i znaki odstępu
Git ma kilka funkcji dotyczących znaków odstępu, które można skonfigurować tak, aby wyróżniały problemy ze znakami odstępu podczas korzystania z narzędzia git diff. Problemy z odstępami będą wyróżniane przy użyciu skonfigurowanego koloru color.diff.whitespace
.
Domyślnie włączone są następujące funkcje:
blank-at-eol
— wyróżnia znaki odstępu na końcu wierszy,space-before-tab
— wyróżnia spacje przed tabulatorem wcięcia wiersza,blank-at-eof
— wyróżnia puste wiersze wstawione na końcu pliku.
Następujące funkcje są domyślnie wyłączone:
indent-with-non-tab
— wyróżnia wiersze z wcięciem przy użyciu spacji zamiast tabulatorów,tab-in-indent
— wyróżnia początkowe wcięcie tabulatorem jako błąd,trailing-space
— to skrót obejmujący funkcje blank-at-eol i blank-at-eof,cr-at-eol
— wyróżnia powrót karetki na końcu wierszy,tabwidth=
— określa liczbę pozycji znaków zajmowanych przez tabulator. Wartość domyślna to 8. Dozwolone wartości to 1–63.
Podsumowanie
W tym artykule przedstawiono sposób użycia polecenia git config
. Omówiliśmy, dlaczego to polecenie jest zalecaną metodą edycji nieprzetworzonych plików git config
w systemie plików. Przyjrzeliśmy się podstawowym operacjom odczytu i zapisu opcji konfiguracyjnych oraz typowym wzorcom konfiguracji:
- Jak skonfigurować edytor Git
- Jak zastąpić poziomy konfiguracji
- Jak zresetować konfigurację do ustawień domyślnych
- Jak dostosować kolory Git
Ogólnie rzecz biorąc, git config
jest narzędziem pomocniczym, które ułatwia edytowanie nieprzetworzonych plików git config
na dysku.Omówiliśmy szczegółowo opcje personalizacji. Podstawowa znajomość opcji konfiguracji git jest warunkiem wstępnym tworzenia repozytorium. Skorzystaj z naszego przewodnika, aby zapoznać się z podstawami.
Udostępnij ten artykuł
Następny temat
Zalecane lektury
Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.