Zauważ, że wkrótce (g3 / 4k 2015) będziesz mieć opcję git 2.6 --name-only, aby wyświetlić tylko klucze konfiguracji, bez ich wartości. Zobacz moją odpowiedź poniżej
Dzięki, głosowałem was obu. Chciałem poznać git config --listpolecenia bo mogę patrzeć na skuteczną config w repozytorium i mogę się różnić lokalnej, globalnej i Konfiguracja systemu z odpowiednim parametrem ( --global, --local, --system). Przyjmę twoją odpowiedź, gdy tylko będę mógł, bo byłeś kilka sekund szybszy :)
wullxz
2
Uważaj, istnieje wiele potencjalnych źródeł konfiguracji git. Spojrzenie na plik daje tylko część. Odpowiedź @ linquize jest w rzeczywistości prawidłowa.
vonbrand
2
@vonbrand: --list jest równoważne -l.
Cameron Skinner
9
Stenografia (jak -l) przydaje się, gdy stajesz się zaawansowanym użytkownikiem i używasz tej funkcji wystarczająco często, aby faktycznie skorzystać z mniejszej liczby znaków. Łatwiej jest mi znaleźć i zapamiętać długą --listopcję. W przypadku mniej oczywistych skrótów często muszę sprawdzać, co oznaczają, więc wolę długie nazwiska. Są jeszcze łatwiejsze, z zakończeniem poleceń, gdy tak naprawdę nie musisz wpisywać wszystkich znaków, ale nadal widzisz całą nazwę opcji.
Krzysztof Jabłoński
1
Co jeśli git config --listnic nie drukuje?
Matej J
247
Najkrótszy,
git config -l
pokazuje wszystkie odziedziczone wartości z: systemowego, globalnego i lokalnego
Czy różni się to od git config --list , czy jest to tylko krótszy sposób na napisanie go?
Magnilex,
8
@Magnilex to tylko krótszy sposób na napisanie
LemenDrop,
3
Pliki konfiguracyjne nie zawsze pokazują wszystkie odziedziczone konfiguracje, ale git config -lpokazują wszystko. Zapisałem mnie, ponieważ git dla zestawów Windows autocrlfpodczas instalacji, i nie ma go w żadnym pliku konfiguracyjnym, który mogę znaleźć.
genorama
tak, jest też plik C: \ ProgramData \ Git \ config - Myślę, że to globalny lub systemowy plik konfiguracyjny git
Alex
129
Jak mogę edytować moją globalną konfigurację Git?
Krótka odpowiedź: git config --edit --global
Aby zrozumieć konfigurację Git, powinieneś wiedzieć, że:
Zmienne konfiguracyjne Git mogą być przechowywane na trzech różnych poziomach. Każdy poziom zastępuje wartości z poprzedniego poziomu.
1. Poziom systemu (dotyczy każdego użytkownika w systemie i wszystkich jego repozytoriów)
do przeglądania git config --list --system(może wymagać sudo)
ustawić, git config --system color.ui true
aby edytować plik konfiguracji systemu, git config --edit --system
2. Poziom globalny (wartości specyficzne dla ciebie, użytkownika).
obejrzeć, git config --list --global
ustawić, git config --global user.name xyz
aby edytować globalny plik konfiguracyjny, git config --edit --global
3. Poziom repozytorium (specyficzny dla tego pojedynczego repozytorium)
Czy zamierzałeś ~/.gitconfiglub jeden z innych plików wymienionych w sekcji PLIKI git help config?
chwarr
1
@chwarr - Przepraszam, nie rozumiem. Czy „zamierzałem”?
Gawron
1
Myślę, że chciałeś powiedzieć „Zwykle po prostu się otwieram ~/.gitconfig”, ponieważ git nie szuka .gitconfigw bieżącym katalogu, niezależnie od tego, gdzie jesteś. ( .gitconfigi ~/.gitconfignazywaj różne pliki [ zwykle ].) Inne pliki wymienione w git help configmają różne nazwy plików, stąd założenie.
chwarr
32
Możesz także zadzwonić git config -e aby bezpośrednio otworzyć plik konfiguracyjny w edytorze. Plik konfiguracyjny Git jest znacznie bardziej czytelny niż dane -lwyjściowe, więc zawsze używam -eflagi.
Podsumowując:
git config -l # List Git configuration settings (same as --list)
git config -e # Opens Git configuration in the default editor (same as --edit)
Bez parametrów współdziała z lokalnym .git/config.
Z --global tym współdziała ~/.gitconfig.
I z --system tym współdziała $(prefix)/etc/gitconfig.
(Naprawdę nie mogłem znaleźć, co to $(prefix)znaczy, ale wydaje się, że domyślnie $HOME.)
config: Dodaj '--name-only opcję ”, aby wyświetlić tylko nazwy zmiennych
„ git config” może wyświetlać tylko wartości lub pary nazwa-wartość, więc jeśli skrypt powłoki potrzebuje nazw ustawionych zmiennych konfiguracyjnych, musi uruchomić „ git config --list” lub „ --get-regexp” i przeanalizować dane wyjściowe, aby oddzielić nazwy zmiennych konfiguracyjnych od ich wartości.
Jednak takie analizowanie nie jest w stanie poradzić sobie z wartościami wieloliniowymi.
Chociaż „ git config” może generować wynik zakończony zerem dla parsowania bezpiecznego dla nowej linii, to nie ma sensu w takim przypadku, ponieważ powłoki nie radzą sobie ze znakami zerowymi.
Nawet nasz własny skrypt kończący bash cierpi na te problemy.
Pomóż skryptowi zakończenia i ogólnie skryptom powłoki, wprowadzając --name-onlyopcję „ ” modyfikującą dane wyjściowe „ --list” i „ --get-regexp”, aby wyświetlać tylko nazwy zmiennych konfiguracyjnych, aby nie musiały wykonywać podatnego na błędy przetwarzania końcowego oddzielić nazwy zmiennych od ich wartości.
git configma --local, --globala --systempoziomy i odpowiadające im pliki.
Więc można używać git config --local, git config --globali git config --system.
Domyślnie git configzapisuje na poziomie lokalnym , jeśli nie zostanie przekazana żadna opcja konfiguracji. Lokalne wartości konfiguracyjne są przechowywane w pliku, który można znaleźć w katalogu .git repozytorium:.git/config
Konfiguracja na poziomie globalnym jest specyficzna dla użytkownika, co oznacza, że jest stosowana do użytkownika systemu operacyjnego. Globalne wartości konfiguracyjne są przechowywane w pliku znajdującym się w katalogu osobistym użytkownika. ~/.gitconfigw systemach Unix i C:\Users\<username>\.gitconfigWindows.
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 gitconfigpliku poza ścieżką systemową. $ (przedrostek) / etc / gitconfig w systemach Linux. W systemie Windows ten plik można znaleźć w C:\ProgramData\Git\config.
Więc twoją opcją jest znalezienie tego globalnego .gitconfig pliku i jego edycja.
Polecenie git config to funkcja wygodna, która służy do ustawiania wartości konfiguracji Git na poziomie projektu globalnego lub lokalnego. Te poziomy konfiguracji odpowiadają plikom tekstowym .gitconfig. Czytaj więcej tutaj: atlassian.com/git/tutorials/setting-up-a-repository/git-config
infomasud
Świetnie, czy możesz dodać to do swojej odpowiedzi?
system rebase.autosquash=true
system credential.helper=helper-selector
global core.editor='code.cmd' --wait -n
global merge.tool=kdiff3
local core.symlinks=false
local core.ignorecase=true
Można to połączyć z
--localdla konfiguracji projektu, --globaldla konfiguracji użytkownika, --systemdla konfiguracji wszystkich użytkowników
--show-origin aby pokazać dokładną lokalizację pliku konfiguracyjnego
--name-only
, aby wyświetlić tylko klucze konfiguracji, bez ich wartości. Zobacz moją odpowiedź poniżej$ git config --list
Sprawdzanie ustawieńgit config --global --list
wyjaśnione głębiej tutajOdpowiedzi:
Możesz użyć:
lub spójrz na swój
~/.gitconfig
plik. Lokalna konfiguracja będzie w.git/config
pliku twojego repozytorium .Posługiwać się:
aby zobaczyć, gdzie to ustawienie jest zdefiniowane (globalne, użytkownika, repozytorium itp.)
źródło
git config --list
polecenia bo mogę patrzeć na skuteczną config w repozytorium i mogę się różnić lokalnej, globalnej i Konfiguracja systemu z odpowiednim parametrem (--global
,--local
,--system
). Przyjmę twoją odpowiedź, gdy tylko będę mógł, bo byłeś kilka sekund szybszy :)-l
) przydaje się, gdy stajesz się zaawansowanym użytkownikiem i używasz tej funkcji wystarczająco często, aby faktycznie skorzystać z mniejszej liczby znaków. Łatwiej jest mi znaleźć i zapamiętać długą--list
opcję. W przypadku mniej oczywistych skrótów często muszę sprawdzać, co oznaczają, więc wolę długie nazwiska. Są jeszcze łatwiejsze, z zakończeniem poleceń, gdy tak naprawdę nie musisz wpisywać wszystkich znaków, ale nadal widzisz całą nazwę opcji.git config --list
nic nie drukuje?Najkrótszy,
pokazuje wszystkie odziedziczone wartości z: systemowego, globalnego i lokalnego
źródło
git config -l
pokazują wszystko. Zapisałem mnie, ponieważ git dla zestawów Windowsautocrlf
podczas instalacji, i nie ma go w żadnym pliku konfiguracyjnym, który mogę znaleźć.Krótka odpowiedź:
git config --edit --global
Aby zrozumieć konfigurację Git, powinieneś wiedzieć, że:
1. Poziom systemu (dotyczy każdego użytkownika w systemie i wszystkich jego repozytoriów)
git config --list --system
(może wymagaćsudo
)git config --system color.ui true
git config --edit --system
2. Poziom globalny (wartości specyficzne dla ciebie, użytkownika).
git config --list --global
git config --global user.name xyz
git config --edit --global
3. Poziom repozytorium (specyficzny dla tego pojedynczego repozytorium)
git config --list --local
git config --local core.ignorecase true
(--local
opcjonalnie)git config --edit --local
(--local
opcjonalnie)git config --list
, pokazując systemowe , globalne i (jeśli w repozytorium) lokalne konfiguracjegit config --list --show-origin
, pokazuje również plik źródłowy każdego elementu konfiguracjigit config user.name
aby uzyskaćuser.name
.--system
,--global
,--local
aby przeczytać tę wartość na określonym poziomie.Odniesienia: 1.6 Pierwsze kroki - Konfiguracja Git po raz pierwszy
źródło
git config --list
pokazać wszystkie globalne, systemowe i lokalne? Potrzebuję potwierdzenia :)git config --list --show-origin
aby znaleźć pochodzenie każdego elementu konfiguracji.jest jedna droga. Zazwyczaj jednak po prostu się otwieram
.gitconfig
.źródło
~/.gitconfig
lub jeden z innych plików wymienionych w sekcji PLIKIgit help config
?~/.gitconfig
”, ponieważ git nie szuka.gitconfig
w bieżącym katalogu, niezależnie od tego, gdzie jesteś. (.gitconfig
i~/.gitconfig
nazywaj różne pliki [ zwykle ].) Inne pliki wymienione wgit help config
mają różne nazwy plików, stąd założenie.Możesz także zadzwonić
git config -e
aby bezpośrednio otworzyć plik konfiguracyjny w edytorze. Plik konfiguracyjny Git jest znacznie bardziej czytelny niż dane-l
wyjściowe, więc zawsze używam-e
flagi.Podsumowując:
.git/config
.--global
tym współdziała~/.gitconfig
.--system
tym współdziała$(prefix)/etc/gitconfig
.(Naprawdę nie mogłem znaleźć, co to
$(prefix)
znaczy, ale wydaje się, że domyślnie$HOME
.)źródło
Możesz także użyć
cat ~/.gitconfig
.źródło
Git 2.6 (wrzesień / październik 2015) doda opcję
--name-only
uproszczenia danych wyjściowychgit config -l
:Zobacz commit a92330d , commit f225987 , commit 9f1429d (20 sierpnia 2015) autor: Jeff King (
peff
) .Zobacz zatwierdzenie ebca2d4 (20 sierpnia 2015 r.) I zatwierdzenie 905f203 , zatwierdzenie 578625f (10 sierpnia 2015 r.) Autor: SZEDER Gábor (
szeder
) .(Połączone przez Junio C Hamano -
gitster
- w commit fc9dfda , 31 sierpnia 2015)źródło
Jedną ważną rzecz dotyczącą
git config
:git config
ma--local
,--global
a--system
poziomy i odpowiadające im pliki.Więc można używać
git config --local
,git config --global
igit config --system
.Domyślnie
git config
zapisuje na poziomie lokalnym , jeśli nie zostanie przekazana żadna opcja konfiguracji. Lokalne wartości konfiguracyjne są przechowywane w pliku, który można znaleźć w katalogu .git repozytorium:.git/config
Konfiguracja na poziomie globalnym jest specyficzna dla użytkownika, co oznacza, że jest stosowana do użytkownika systemu operacyjnego. Globalne wartości konfiguracyjne są przechowywane w pliku znajdującym się w katalogu osobistym użytkownika.
~/.gitconfig
w systemach Unix iC:\Users\<username>\.gitconfig
Windows.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
gitconfig
pliku poza ścieżką systemową. $ (przedrostek) / etc / gitconfig w systemach Linux. W systemie Windows ten plik można znaleźć wC:\ProgramData\Git\config
.Więc twoją opcją jest znalezienie tego globalnego
.gitconfig
pliku i jego edycja.Lub możesz użyć
git config --global --list
.Właśnie takiej linii potrzebujesz.
źródło
Jeśli chcesz tylko wymienić jedną część konfiguracji Gita, taką jak alias , rdzeń , zdalny itp., Możesz po prostu przesłać wynik przez grep. Coś jak:
źródło
W systemach Linux możesz przeglądać / edytować plik konfiguracyjny przez
Upewnij się, że jesteś w folderze inicjującym Git.
Jeśli chcesz z tym pracować
--global config
, to jest tona / home / nazwa_użytkownika
To powinno pomóc w edycji: https://help.github.com/categories/setup/
źródło
Aby znaleźć wszystkie konfiguracje, wystarczy napisać to polecenie:
W moim lokalnym uruchamiam to polecenie.
źródło
Od wersji Git 2.26.0 możesz użyć
--show-scope
opcji:Przykładowe dane wyjściowe:
Można to połączyć z
--local
dla konfiguracji projektu,--global
dla konfiguracji użytkownika,--system
dla konfiguracji wszystkich użytkowników--show-origin
aby pokazać dokładną lokalizację pliku konfiguracyjnegoźródło