Làm cách nào để hiển thị cấu hình Git toàn cầu của tôi?


1076

Tôi muốn hiển thị tất cả các phần Git được cấu hình.

Tôi chỉ tìm thấy git config --get core.editorvà tôi muốn xuất mọi thứ được định cấu hình trên toàn cầu, không chỉ trình chỉnh sửa mặc định được định cấu hình.


3
Có gì sai khi nhìn vào .gitconfig?
Rook

1
Lưu ý rằng bạn sẽ sớm có (Q3 / Q4 2015) với tùy chọn git 2.6 --name-only, chỉ liệt kê các khóa cấu hình, không có giá trị của chúng. Xem câu trả lời của tôi dưới đây
VonC


5
Nó phải là git config --global --listnhư được giải thích sâu hơn ở đây
prosti

Câu trả lời:


1722

Bạn có thể dùng:

git config --list

hoặc nhìn vào ~/.gitconfigtập tin của bạn . Cấu hình cục bộ sẽ có trong .git/configtệp của kho lưu trữ của bạn .

Sử dụng:

git config --list --show-origin

để xem nơi cài đặt đó được xác định (toàn cầu, người dùng, repo, v.v ...)


24
Cảm ơn, tôi đã nâng đỡ cả hai bạn. Tôi muốn biết các git config --listlệnh vì tôi có thể nhìn vào cấu hình có hiệu quả trong một kho lưu trữ và tôi có thể khác nhau địa phương, toàn cầu và hệ thống cấu hình với các thông số thích hợp ( --global, --local, --system). Tôi sẽ chấp nhận câu trả lời của bạn ngay khi tôi có thể vì bạn đã nhanh hơn vài giây :)
wullxz

2
Hãy cẩn thận, có rất nhiều nguồn tiềm năng cho cấu hình git. Nhìn vào tập tin chỉ cho một phần. Câu trả lời của @ linquize trên thực tế là chính xác.
vonbrand

2
@vonbrand: --list tương đương với -l.
Cameron Skinner

9
Các tốc ký (thích -l) có ích khi bạn trở thành người sử dụng năng lượng và sử dụng tính năng này đủ thường xuyên, để thực sự kiếm lợi từ việc nhập ít ký tự hơn. Tôi thấy dễ dàng hơn để tìm và nhớ các --listtùy chọn dài . Đối với các tốc ký ít rõ ràng hơn, tôi thường phải kiểm tra xem chúng đại diện cho cái gì, vì vậy tôi thích tên dài hơn. Chúng thậm chí còn dễ dàng hơn, với việc hoàn thành lệnh, khi bạn không thực sự phải nhập tất cả các ký tự, nhưng vẫn thấy toàn bộ tên tùy chọn.
Krzysztof Jabłoński

1
Nếu git config --listin không có gì?
Matej J

247

Ngắn nhất,

git config -l

hiển thị tất cả các giá trị được kế thừa từ: hệ thống, toàn cầu và địa phương


13
Điều này khác với git config --list , hay nó chỉ là một cách ngắn hơn để viết nó?
Magnilex

8
@Magnilex nó chỉ là một cách viết ngắn hơn
LemenDrop

3
Các tập tin cấu hình có thể không luôn luôn hiển thị tất cả các cấu hình được kế thừa, nhưng git config -lsẽ hiển thị tất cả mọi thứ. Đã lưu tôi vì git cho các bộ autocrlfcài đặt windows khi cài đặt và nó không có trong bất kỳ tệp cấu hình nào tôi có thể tìm thấy.
genorama

vâng, cũng có tệp C: \ ProgramData \ Git \ config - Tôi đoán đây là tệp cấu hình git toàn cầu hoặc hệ thống
Alex

129

Làm cách nào để chỉnh sửa cấu hình Git toàn cầu của tôi ?

Câu trả lời ngắn: git config --edit --global


Để hiểu cấu hình Git, bạn nên biết rằng:

Các biến cấu hình Git có thể được lưu trữ ở ba cấp độ khác nhau. Mỗi cấp độ ghi đè các giá trị ở cấp độ trước.

1. Cấp độ hệ thống (áp dụng cho mọi người dùng trên hệ thống và tất cả các kho lưu trữ của họ)

  • để xem, git config --list --system(có thể cần sudo)
  • để thiết lập, git config --system color.ui true
  • để chỉnh sửa tập tin cấu hình hệ thống, git config --edit --system

2. Cấp độ toàn cầu (giá trị cụ thể cá nhân cho bạn, người dùng).

  • xem, git config --list --global
  • để thiết lập, git config --global user.name xyz
  • để chỉnh sửa tập tin cấu hình toàn cầu, git config --edit --global

3. Cấp kho lưu trữ (cụ thể cho kho lưu trữ đơn lẻ đó)

  • xem, git config --list --local
  • để đặt, git config --local core.ignorecase true( --localtùy chọn)
  • để chỉnh sửa tập tin cấu hình kho lưu trữ, git config --edit --local( --localtùy chọn)

Làm cách nào để xem tất cả các cài đặt?

  • Run git config --list, cho thấy hệ thống , toàn cầu , và (nếu bên trong một kho lưu trữ) địa phương configs
  • Chạy git config --list --show-origin, cũng hiển thị tệp gốc của từng mục cấu hình

Làm thế nào để tôi đọc một cấu hình cụ thể?

  • Chạy git config user.nameđể lấy user.name, chẳng hạn.
  • Bạn cũng có thể chỉ định các tùy chọn --system,--global , --localđọc giá trị mà ở một mức độ nào đó.

Tham khảo: 1.6 Bắt đầu - Cài đặt Git lần đầu


1
git config --listhiển thị tất cả toàn cầu, hệ thống và địa phương? tôi cần khẳng định :)
Adi Prasetyo

2
chỉ cần thêm vị trí của các tệp cấu hình: Hệ thống: C: \ ProgramData \ Git \ config (trong windows). Toàn cầu: C: \ Users \ user \ .gitconfig (Windows) ~ / .gitconfig (Linux) Địa phương: project-repo / .git / config
Alex

@AdiPrasetyo Vâng. Bạn có thể chạy git config --list --show-originđể tìm ra nguồn gốc của từng mục cấu hình.
kgf3JfUtW

109
git config --list

là một cách để đi Tôi thường chỉ mở ra .gitconfigmặc dù.


2
Bạn có ý định ~/.gitconfighoặc một trong những tệp khác được đề cập trong phần PHIM git help configkhông?
chwarr

1
@chwarr - Xin lỗi, tôi không nhấn mạnh. Tôi đã "có ý định"?
Rook

1
Tôi nghĩ rằng bạn có ý nói "Tôi thường chỉ mở ra ~/.gitconfig.", Vì git không tìm kiếm .gitconfigtrong thư mục hiện tại, bất kể bạn đang ở đâu. ( .gitconfig~/.gitconfigđặt tên cho các tệp khác nhau [ thường ].) Các tệp khác được đề cập git help configcó tên tệp khác nhau, do đó, giả định.
chwarr

32

Bạn cũng có thể gọi git config -eđể mở tệp cấu hình trong trình chỉnh sửa của mình trực tiếp. Tệp cấu hình Git dễ đọc hơn -lđầu ra, vì vậy tôi luôn có xu hướng sử dụng -ecờ.

Vì vậy, để tóm tắt:

git config -l  # List Git configuration settings (same as --list)
git config -e  # Opens Git configuration in the default editor (same as --edit)
  • Không có tham số nó tương tác với địa phương .git/config.
  • Với --globalnó tương tác với ~/.gitconfig.
  • Và với --systemnó tương tác với $(prefix)/etc/gitconfig.

(Tôi thực sự không thể tìm thấy ý $(prefix)nghĩa của nó, nhưng nó dường như được mặc định $HOME.)



11

Git 2.6 (Tháng 9 / Tháng 10 năm 2015) sẽ thêm tùy chọn --name-onlyđể đơn giản hóa đầu ra của git config -l:

Xem cam kết a92330d , cam kết f225987 , cam kết 9f1429d (20 tháng 8 năm 2015) của Jeff King ( peff) .
Xem cam kết ebca2d4 (20 tháng 8 năm 2015) và cam kết 905f203 , cam kết 578625f (10 tháng 8 năm 2015) bởi SZEDER Gábor ( szeder) .
(Được hợp nhất bởi Junio ​​C Hamano - gitster- trong cam kết fc9dfda , ngày 31 tháng 8 năm 2015)

config: thêm --name-onlytùy chọn '' để chỉ liệt kê tên biến

' git config' Chỉ có thể hiển thị các giá trị hoặc cặp giá trị tên, vì vậy nếu tập lệnh shell cần tên của các biến cấu hình đã đặt thì nó phải chạy ' git config --list' hoặc ' --get-regexp' và phân tích đầu ra để tách các tên biến cấu hình khỏi các giá trị của chúng.
Tuy nhiên, việc phân tích cú pháp như vậy không thể đối phó với các giá trị nhiều dòng.

Mặc dù ' git config' có thể tạo đầu ra kết thúc null để phân tích cú pháp an toàn dòng mới, nhưng điều đó không có tác dụng trong trường hợp như vậy, vì shell không thể đối phó với các ký tự null.

Ngay cả kịch bản hoàn thành bash của chúng ta cũng bị những vấn đề này.

Giúp tập lệnh hoàn thành và tập lệnh shell nói chung, bằng cách giới thiệu --name-onlytùy chọn '' để sửa đổi đầu ra của ' --list' và ' --get-regexp' để chỉ liệt kê tên của các biến cấu hình, do đó chúng không phải thực hiện xử lý bài dễ bị lỗi tên biến khác nhau từ các giá trị của họ nữa.


10

Một điều quan trọng về git config:

git config--local, --global--systemmức độ và các tập tin tương ứng.

Vì vậy, bạn có thể sử dụng git config --local, git config --globalgit config --system.

Theo mặc định, git configsẽ ghi vào một địa phương cấp nếu không có tùy chọn cấu hình nào được thông qua. Các giá trị cấu hình cục bộ được lưu trữ trong một tệp có thể tìm thấy trong thư mục .git của kho lưu trữ:.git/config

Cấu hình cấp toàn cầu là dành riêng cho người dùng, nghĩa là nó được áp dụng cho người dùng hệ điều hành. Giá trị cấu hình toàn cầu được lưu trữ trong một tệp nằm trong thư mục chính của người dùng. ~/.gitconfigtrên các hệ thống Unix và C:\Users\<username>\.gitconfigtrên Windows.

Cấu hình cấp hệ thống được áp dụng trên toàn bộ máy. Điều này bao gồm tất cả người dùng trên một hệ điều hành và tất cả các kho lưu trữ. Tệp cấu hình cấp hệ thống nằm trong một gitconfigtệp ngoài đường dẫn gốc của hệ thống. $ (tiền tố) / etc / gitconfig trên các hệ thống Linux. Trên Windows tập tin này có thể được tìm thấy trong C:\ProgramData\Git\config.

Vì vậy, tùy chọn của bạn là tìm .gitconfigtập tin toàn cầu đó và chỉnh sửa nó.

Hoặc bạn có thể sử dụng git config --global --list.

Đây chính xác là dòng những gì bạn cần.

Nhập mô tả hình ảnh ở đây


7

Nếu bạn chỉ muốn liệt kê một phần của cấu hình Git, chẳng hạn như bí danh , lõi , từ xa , v.v., bạn chỉ có thể dẫn kết quả qua grep. Cái gì đó như:

git config --global -l | grep core

4

Trên các hệ thống dựa trên Linux, bạn có thể xem / chỉnh sửa tệp cấu hình bằng cách

vi/vim/nano .git/config

Hãy chắc chắn rằng bạn đang ở trong thư mục Git init.

Nếu bạn muốn làm việc với --global config, đó là

vi/vim/nano .gitconfig

trên / nhà / tên người dùng

Điều này sẽ giúp chỉnh sửa: https://help.github.com/c Chuyên / bộ /


3

Để tìm tất cả các cấu hình, bạn chỉ cần viết lệnh này:

git config --list

Ở địa phương tôi chạy lệnh này.

Md Masud@DESKTOP-3HTSDV8 MINGW64 ~
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
user.email=infomasud@gmail.com
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f

Lệnh git config là một hàm tiện lợi được sử dụng để đặt các giá trị cấu hình Git ở cấp độ dự án toàn cầu hoặc cục bộ. Các mức cấu hình này tương ứng với các tệp văn bản .gitconfig. Đọc thêm tại đây: atlassian.com/git/tutorials/setting-up-a-reposeective/git-config
infomasud

Tuyệt vời, bạn có thể thêm nó vào câu trả lời của bạn?
RamenChef

1

Kể từ Git 2.26.0 , bạn có thể sử dụng --show-scopetùy chọn:

git config --list --show-scope

Ví dụ đầu ra:

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

Nó có thể được kết hợp với

  • --localcho cấu hình dự án, --globalcho cấu hình người dùng, --systemcho tất cả cấu hình của người dùng
  • --show-origin để hiển thị vị trí tập tin cấu hình chính xác
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.