Git
Konfiguracja
Szukaj…
Składnia
- git config [<opcja_pliku]] nazwa [wartość] # jeden z najczęstszych przypadków użycia git config
Parametry
Parametr | Detale |
---|---|
--system | Edytuje ogólnosystemowy plik konfiguracyjny, który jest używany dla każdego użytkownika (w systemie Linux plik ten znajduje się w $(prefix)/etc/gitconfig ) |
--global | Edytuje globalny plik konfiguracyjny, który jest używany dla każdego repozytorium, na którym pracujesz (w systemie Linux ten plik znajduje się w ~/.gitconfig |
--local | Edytuje specyficzny dla repozytorium plik konfiguracyjny, który znajduje się w .git/config w twoim repozytorium; to jest ustawienie domyślne |
Nazwa użytkownika i adres e-mail
Zaraz po zainstalowaniu Gita, pierwszą rzeczą, którą powinieneś zrobić, to ustawić swoją nazwę użytkownika i adres e-mail. W powłoce wpisz:
git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
-
git config
to polecenie pobierania lub ustawiania opcji -
--global
oznacza, że plik konfiguracyjny specyficzny dla twojego konta użytkownika będzie edytowany -
user.name
iuser.email
są kluczowe dla zmiennych konfiguracji;user
to sekcja pliku konfiguracyjnego.name
iemail
-email
to nazwy zmiennych. -
"Mr. Bean"
i[email protected]
to wartości, które przechowujesz w dwóch zmiennych. Zwróć uwagę na cytaty wokół"Mr. Bean"
, które są wymagane, ponieważ przechowywana wartość zawiera spację.
Wiele konfiguracji git
Masz do 5 źródeł konfiguracji git:
- 6 plików:
-
%ALLUSERSPROFILE%\Git\Config
(tylko Windows) - (system)
<git>/etc/gitconfig
, przy czym<git>
jest ścieżką instalacji git.
(w systemie Windows jest to<git>\mingw64\etc\gitconfig
) - (system)
$XDG_CONFIG_HOME/git/config
(tylko Linux / Mac) - (globalny)
~/.gitconfig
(Windows:%USERPROFILE%\.gitconfig
) - (lokalnie)
.git/config
(w ramach repozytorium git$GIT_DIR
) - plik dedykowany (z
git config -f
), używany na przykład do modyfikacji konfiguracji submodułów:git config -f .gitmodules ...
-
- linia poleceń z
git -c
:git -c core.autocrlf=false fetch
zastąpiłaby każdy innycore.autocrlf
nafalse
, tylko dla tej komendyfetch
.
Kolejność jest ważna: każdy zestaw konfiguracyjny w jednym źródle może zostać zastąpiony przez źródło wymienione poniżej.
git config --system/global/local
to polecenie, aby wyświetlić 3 z tych źródeł, ale tylko git config -l wyświetli wszystkie rozstrzygnięte konfiguracje.
„rozwiązany” oznacza, że wyświetla tylko ostateczną przesłoniętą wartość konfiguracji.
Od wersji git 2.8, jeśli chcesz zobaczyć, która konfiguracja pochodzi z którego pliku, wpisz:
git config --list --show-origin
Ustawienie używanego edytora
Istnieje kilka sposobów ustawienia edytora do zatwierdzania, zmiany bazy itp.
Zmień ustawienie konfiguracji
core.editor
.$ git config --global core.editor nano
Ustaw
GIT_EDITOR
środowiskowąGIT_EDITOR
.Dla jednego polecenia:
$ GIT_EDITOR=nano git commit
Lub dla wszystkich poleceń uruchamianych w terminalu. Uwaga: Dotyczy to tylko do momentu zamknięcia terminalu.
$ export GIT_EDITOR=nano
Aby zmienić edytor dla wszystkich programów terminalowych, nie tylko Git, ustaw zmienną środowiskową
VISUAL
lubEDITOR
. (ZobaczVISUAL
vsEDITOR
.)$ export EDITOR=nano
Uwaga: jak wyżej, dotyczy to tylko bieżącego terminala; twoja powłoka zwykle ma plik konfiguracyjny, który pozwala ci ustawić go na stałe. (Na przykład w
bash
dodaj powyższą linię do swojego~/.bashrc
lub~/.bash_profile
.)
Niektóre edytory tekstu (głównie GUI) uruchamiają tylko jedną instancję na raz i generalnie kończą działanie, jeśli masz już otwartą instancję. Jeśli tak jest w przypadku edytora tekstu, Git wydrukuje komunikat Aborting commit due to empty commit message.
bez uprzedniej edycji komunikatu zatwierdzenia. Jeśli tak się stanie, zapoznaj się z dokumentacją edytora tekstu, aby sprawdzić, czy ma flagę --wait
(lub podobną), która spowoduje, że zatrzyma się do momentu zamknięcia dokumentu.
Konfigurowanie zakończeń linii
Opis
Podczas pracy z zespołem, który korzysta z różnych systemów operacyjnych (OS) w całym projekcie, czasami możesz mieć problemy z zakończeniami linii.
Microsoft Windows
Podczas pracy w systemie operacyjnym Microsoft Windows końce linii zwykle mają postać - powrót karetki + przesunięcie wiersza (CR + LF). Otwarcie pliku, który był edytowany za pomocą komputera z systemem Unix, takiego jak Linux lub OSX, może powodować problemy, sprawiając wrażenie, że tekst w ogóle nie ma końca linii. Wynika to z faktu, że systemy uniksowe stosują różne zakończenia linii tylko do form line feeds (LF).
Aby to naprawić, możesz uruchomić następującą instrukcję
git config --global core.autocrlf=true
Przy kasie ta instrukcja zapewni skonfigurowanie zakończenia linii zgodnie z systemem operacyjnym Microsoft Windows (LF -> CR + LF)
Oparty na Uniksie (Linux / OSX)
Podobnie mogą wystąpić problemy, gdy użytkownik w systemie operacyjnym Unix próbuje odczytać pliki edytowane w systemie Microsoft Windows. Aby zapobiec wystąpieniu nieoczekiwanych problemów
git config --global core.autocrlf=input
Przy zatwierdzeniu zmieni to zakończenia linii z CR + LF -> + LF
konfiguracja tylko dla jednego polecenia
możesz użyć -c <name>=<value>
aby dodać konfigurację tylko dla jednego polecenia.
Aby zatwierdzić jako inny użytkownik bez konieczności zmiany ustawień w .gitconfig:
git -c user.email = mail@example commit -m "some message"
Uwaga: w tym przykładzie nie trzeba precyzyjnie zarówno user.name
i user.email
git uzupełni brakujące informacje z poprzednich zatwierdzeń.
Skonfiguruj serwer proxy
Jeśli jesteś za serwerem proxy, musisz powiedzieć o tym gitowi:
git config --global http.proxy http://my.proxy.com:portnumber
Jeśli nie jesteś już za proxy:
git config --global --unset http.proxy
Automatyczne poprawianie literówek
git config --global help.autocorrect 17
Umożliwia to autokorekty w git i wybacza ci drobne błędy (np. git stats
zamiast git status
). Podany parametr help.autocorrect
określa, jak długo system powinien czekać, w dziesiętnych częściach sekundy, przed automatycznym zastosowaniem polecenia autokorekty. W powyższym poleceniu 17 oznacza, że git powinien poczekać 1,7 sekundy przed zastosowaniem polecenia autokorekty.
Jednak większe błędy będą uważane za brakujące polecenia, więc wpisanie czegoś takiego jak git testingit
spowoduje, że testingit is not a git command.
Wyświetl i edytuj bieżącą konfigurację
Konfiguracja Git pozwala dostosować sposób działania git. Zwykle służy do ustawiania imienia i nazwiska oraz adresu e-mail lub ulubionego edytora lub sposobu łączenia.
Aby zobaczyć bieżącą konfigurację.
$ git config --list
...
core.editor=vim
credential.helper=osxkeychain
...
Aby edytować konfigurację:
$ git config <key> <value>
$ git config core.ignorecase true
Jeśli chcesz, aby zmiana była prawdziwa dla wszystkich twoich repozytoriów, użyj --global
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --global core.editor vi
Możesz ponownie wyświetlić listę, aby zobaczyć zmiany.
Wiele nazw użytkowników i adresów e-mail
Od wersji Git 2.13 wiele nazw użytkowników i adresów e-mail można skonfigurować za pomocą filtru folderów.
Przykład dla systemu Windows:
.gitconfig
Edycja: git config --global -e
Dodaj:
[includeIf "gitdir:D:/work"]
path = .gitconfig-work.config
[includeIf "gitdir:D:/opensource/"]
path = .gitconfig-opensource.config
Notatki - Kolejność jest zależna, ostatni, który pasuje do „wygrywa”.
-
/
na koniec jest potrzebny - np"gitdir:D:/work"
nie będzie działać. - prefiks
gitdir:
jest wymagany.
.gitconfig-work.config
Plik w tym samym katalogu co .gitconfig
[user]
name = Money
email = [email protected]
.gitconfig-opensource.config
Plik w tym samym katalogu co .gitconfig
[user]
name = Nice
email = [email protected]
Przykład dla systemu Linux
[includeIf "gitdir:~/work/"]
path = .gitconfig-work
[includeIf "gitdir:~/opensource/"]
path = .gitconfig-opensource
Zawartość pliku i uwagi w sekcji Windows.