Question
How do I show my global Git configuration?
I'd like to show all configured Git sections.
I only found git config --get core.editor
, and I'd like to output everything that's configured globally, not only the configured default editor.
Question
I'd like to show all configured Git sections.
I only found git config --get core.editor
, and I'd like to output everything that's configured globally, not only the configured default editor.
Solution
You can use:
git config --list
or look at your ~/.gitconfig
file. The local configuration will be in your repository's .git/config
file.
Use:
git config --list --show-origin
to see where that setting is defined (global, user, repo, etc...)
Solution
The shortest,
git config -l
shows all inherited values from: system, global and local
Solution
How do I edit my global Git configuration?
Short answer: git config --edit --global
To understand Git configuration, you should know that:
Git configuration variables can be stored at three different levels. Each level overrides values at the previous level.
1. System level (applied to every user on the system and all their repositories)
git config --list --system
(may need sudo
)git config --system color.ui true
git config --edit --system
2. Global level (values specific personally to you, the user).
git config --list --global
git config --global user.name xyz
git config --edit --global
3. Repository level (specific to that single repository)
git config --list --local
git config --local core.ignorecase true
(--local
optional)git config --edit --local
(--local
optional)How do I view all settings?
git config --list
, showing system, global, and (if inside a repository) local configsgit config --list --show-origin
, also shows the origin file of each config itemHow do I read one particular configuration?
git config user.name
to get user.name
, for example.--system
, --global
, --local
to read that value at a particular level.Reference: 1.6 Getting Started - First-Time Git Setup
Solution
git config --list
is one way to go. I usually just open up .gitconfig
though.
Solution
Since Git 2.26.0, you can use --show-scope
option:
git config --list --show-scope
Example output:
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
It can be combined with
--local
for project config, --global
for user config, --system
for all users' config--show-origin
to show the exact config file locationSolution
You can also call git config -e
to open the configuration file in your editor directly. The Git configuration file is much more readable that the -l
output, so I always tend to use the -e
flag.
So to summarise:
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
it interacts with ~/.gitconfig
.--system
it interacts with $(prefix)/etc/gitconfig
.(I couldn't really find what $(prefix)
means, but it seems to default to $HOME
.)
Solution
One important thing about git config
:
git config
has --local
, --global
and --system
levels and corresponding files.
So you may use git config --local
, git config --global
and git config --system
.
By default, git config
will write to a local level if no configuration option is passed. Local configuration values are stored in a file that can be found in the repository's .git directory: .git/config
Global level configuration is user-specific, meaning it is applied to an operating system user. Global configuration values are stored in a file that is located in a user's home directory. ~/.gitconfig
on Unix systems and C:\Users\<username>\.gitconfig
on Windows.
System-level configuration is applied across an entire machine. This covers all users on an operating system and all repositories. The system level configuration file lives in a gitconfig
file off the system root path. $(prefix)/etc/gitconfig on Linux systems.
On Windows this file can be found in C:\ProgramData\Git\config
.
So your option is to find that global .gitconfig
file and edit it.
Or you can use git config --global --list
.
This is exactly the line what you need.
Solution
To easily show your global Git configuration Use:
git config --global --list
to display list of all configurations.git config --global --get user.name
shows your username.git config --global --get user.email
displays your email.git config --global credential.helper
verify credentials.git config --global gui.recentrepo
find your recent repo.You may need to specify where you want to read those configurations, Just add the level option:
--system
: System level which applied to every user on the system and all their repositories.--global
: Global level whose values are specific personally to you, the user.--local
: Repository level has a specific to that single repository.Solution
You can also use cat ~/.gitconfig
.
Solution
To list your global Git config:
git config --list --global
To list your local git config:
git config --list --local
Solution
Git 2.6 (Sept/Oct 2015) will add the option --name-only
to simplify the output of a git config -l
:
See commit a92330d, commit f225987, commit 9f1429d (20 Aug 2015) by Jeff King (peff
).
See commit ebca2d4 (20 Aug 2015), and commit 905f203, commit 578625f (10 Aug 2015) by SZEDER Gábor (szeder
).
(Merged by Junio C Hamano -- gitster
-- in commit fc9dfda, 31 Aug 2015)
config
: add '--name-only
' option to list only variable names'
git config
' can only show values or name-value pairs, so if a shell script needs the names of set config variables it has to run 'git config --list
' or '--get-regexp
' and parse the output to separate config variable names from their values.
However, such a parsing can't cope with multi-line values.Though '
git config
' can produce null-terminated output for newline-safe parsing, that's of no use in such a case, because shells can't cope with null characters.Even our own bash completion script suffers from these issues.
Help the completion script, and shell scripts in general, by introducing the '
--name-only
' option to modify the output of '--list
' and '--get-regexp
' to list only the names of config variables, so they don't have to perform error-prone post processing to separate variable names from their values anymore.
Solution
If you just want to list one part of the Git configuration, such as alias, core, remote, etc., you could just pipe the result through grep. Something like:
git config --global -l | grep core
Solution
To find all configurations, you just write this command:
git config --list
In my local i run this command .
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
Solution
On Linux-based systems you can view/edit a configuration file by
vi/vim/nano .git/config
Make sure you are inside the Git init folder.
If you want to work with --global config
, it's
vi/vim/nano .gitconfig
on /home/userName
This should help with editing: https://help.github.com/categories/setup/
Solution
In Windows to edit global config run From git bash (but not from general command prompt)
notepad ~/.gitconfig
Location of files are listed in https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Where-system-global-and-local-Windows-Git-config-files-are-saved