1386

我想显示所有配置的 Git 部分。

我只找到了git config --get core.editor,我想输出全局配置的所有内容,而不仅仅是配置的默认编辑器。

4

12 回答 12

2160

您可以使用:

git config --list

或查看您的~/.gitconfig文件。本地配置将在您的存储库的.git/config文件中。

采用:

git config --list --show-origin

查看该设置的定义位置(全局、用户、存储库等...)

于 2012-09-03T21:16:39.633 回答
274

最短的,

git config -l

显示从以下位置继承的所有值:系统、全局和本地

于 2012-09-04T04:10:20.290 回答
198

如何编辑我的全局Git 配置?

简短的回答:git config --edit --global


要了解 Git 配置,您应该知道:

Git 配置变量可以存储在三个不同的级别。每个级别都会覆盖上一个级别的值。

1.系统级别(适用于系统上的每个用户及其所有存储库)

  • 查看,git config --list --system(可能需要sudo
  • 设置,git config --system color.ui true
  • 编辑系统配置文件,git config --edit --system

2. 全局级别(特定于您个人的值,即用户)。

  • 查看,git config --list --global
  • 设置,git config --global user.name xyz
  • 编辑全局配置文件,git config --edit --global

3. 存储库级别(特定于该单个存储库)

  • 查看,git config --list --local
  • 设置,git config --local core.ignorecase true--local可选)
  • 编辑存储库配置文件,git config --edit --local--local可选)

如何查看所有设置?

  • 运行git config --list,显示系统全局和(如果在存储库中)本地配置
  • 运行git config --list --show-origin,也显示每个配置项的源文件

如何读取一种特定配置?

  • 例如,运行git config user.name以获得user.name
  • 您还可以指定 options --system, --global,--local以在特定级别读取该值。

参考:1.6 入门 - 首​​次 Git 设置

于 2017-10-28T03:44:59.293 回答
114
git config --list

是一种方法。不过我通常只是打开.gitconfig

于 2012-09-03T21:16:42.957 回答
36

您也可以调用git config -e直接在编辑器中打开配置文件。Git 配置文件比输出更可读-l,所以我总是倾向于使用-e标志。

所以总结一下:

git config -l  # List Git configuration settings (same as --list)
git config -e  # Opens Git configuration in the default editor (same as --edit)
  • 没有参数它与本地交互.git/config
  • --global它交互~/.gitconfig
  • 并与之--system交互$(prefix)/etc/gitconfig

(我真的找不到什么$(prefix)意思,但它似乎默认为$HOME。)

于 2016-04-11T14:41:49.497 回答
18

一件重要的事情git config

git config--local,--global--system级别 和对应的文件。

所以你可以使用git config --local,git config --globalgit config --system

默认情况下,如果没有传递配置选项,git config将写入本地级别。本地配置值存储在可以在存储库的 .git 目录中找到的文件中:.git/config

全局级别配置是特定于用户的,这意味着它适用于操作系统用户。全局配置值存储在位于用户主目录中的文件中。~/.gitconfig在 Unix 系统和C:\Users\<username>\.gitconfigWindows 上。

系统级配置应用于整台机器。这涵盖了操作系统和所有存储库上的所有用户。系统级配置文件位于gitconfig系统根路径之外的文件中。$(prefix)/etc/gitconfig 在 Linux 系统上。在 Windows 上,此文件可以在C:\ProgramData\Git\config.

所以你的选择是找到那个全局.gitconfig文件并编辑它。

或者你可以使用git config --global --list.

这正是您所需要的。

在此处输入图像描述

于 2019-06-08T12:03:28.427 回答
18

从 Git 2.26.0 开始,您可以使用--show-scope以下选项:

git config --list --show-scope

示例输出:

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

它可以与

  • --local对于项目配置, --global对于用户配置, --system对于所有用户的配置
  • --show-origin显示确切的配置文件位置
于 2020-05-15T10:10:59.323 回答
16

您也可以使用cat ~/.gitconfig.

于 2015-07-16T14:15:53.587 回答
11

Git 2.6(2015 年 9 月/10 月)将添加--name-only简化 a 输出的选项git config -l

请参阅Jeff King ( )的提交 a92330d提交 f225987提交 9f1429d(2015 年 8 月 20 日) 。 请参阅SZEDER Gábor ( ) 的提交ebca2d4 ( 2015 年 8 月 20 日)和提交 905f203提交 578625f(2015 年 8 月 10 日(由Junio C Hamano 合并——提交 fc9dfda中,2015 年 8 月 31 日)peff
szeder
gitster

config: 添加 ' --name-only' 选项以仅列出变量名称

' git config' 只能显示值或名称-值对,因此如果 shell 脚本需要设置配置变量的名称,它必须运行 ' git config --list' 或 ' --get-regexp' 并解析输出以将配置变量名称与其值分开。
但是,这样的解析无法处理多行值。

尽管 ' git config' 可以为换行安全解析生成以空字符结尾的输出,但在这种情况下没有用,因为 shell 无法处理空字符。

甚至我们自己的 bash 完成脚本也会遇到这些问题。

--name-only通过引入 ' ' 选项来修改 ' --list' 和 ' ' 的输出以仅列出配置变量的名称,从而帮助完成脚本和一般的 shell 脚本--get-regexp,因此它们不必执行容易出错的后处理来不再将变量名与其值分开。

于 2015-09-01T06:46:15.953 回答
8

如果您只想列出 Git 配置的一部分,例如aliascoreremote等,您可以通过 grep 管道输出结果。就像是:

git config --global -l | grep core
于 2016-07-21T16:38:53.603 回答
4

在基于 Linux 的系统上,您可以通过以下方式查看/编辑配置文件

vi/vim/nano .git/config

确保您位于 Git init 文件夹中。

如果你想合作--global config,它是

vi/vim/nano .gitconfig

在 /home/userName

这应该有助于编辑:https ://help.github.com/categories/setup/

于 2016-03-24T07:15:36.690 回答
4

要查找所有配置,只需编写以下命令:

git config --list

在我的本地我运行这个命令。

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
于 2019-05-17T18:05:05.057 回答