How to set important Git config global properties
Where is the global git config file located?
The global Git config file is stored in a file uncreatively named .gitconfig the user’s home directory. Depending on the operating system, that would be:
- C:\Users\<username> on Windows
- ~home/<username> on Linux
- ~root/ for sudo operations
One thing to note is that each user gets their own global Git config file. This can cause problems if you run a shell script with sudo command. If sudo is used in a script, the ~root/.gitconfig file will be used instead of the global git config file of the user running the script. This can lead to unexpected results, so use the sudo command judiciously.
Git config global username and email
Before a local Git commit can be issued, the global git config username and email properties must be set. Don’t worry, your name and email won’t end up on a mailing list. These details are simply used as metadata in each commit so anyone viewing the Git log would know who committed the code and how to get in touch with them. There is nothing nefarious about the Git config’s global username and email requirements.
How to set global git config settings?
There are a number of ways to edit the global git config file. One way is to add properties through the command line. The global git config email and username properties are often set in the following way:
git config --global user.name cameronmcnz
git config --global user.email global-config@example.com
To be more expressive, you can include the –add switch when you set a global git config property:
git config --global --add user.name cameronmcnz
git config --global --add user.email global-config@example.com
How do a git config global edit?
The global git config is simply a text file, so it can be edited with whatever text editor you choose. Open, edit global git config, save, and close, and the changes will take effect the next time you issue a git command. It’s that easy.
From within the BASH shell or terminal window, you can invoke the default Git editor through the following command:
git config --global --edit
On Ubuntu, this opens the Nano text editor, which I’m not a huge fan of. Fortunately, the global git config file can be used to change the default Git editor to something you find more user-friendly.
Configure Git global’s core editor
The following commands can be used to change the global Git config’s default text editor to Vim, emacs, Textmate, or Atom. There’s a separate tutorial on how to make NotePad++ Git’s core editor, which is something easy to do on Windows but somewhat unpredictable on Linux.
Global Git Config Core Editor Settings | |
---|---|
Text Editor | Global Git Config Command |
Atom | git config –global core.editor “atom –wait” |
emacs | git config –global core.editor “emacs” |
Textmate | git config –global core.editor “mate -w” |
vim | git config –global core.editor “vim” |
How do you override Git config global?
Git uses as cascading application of gitconfig files to determine the value of a Git config property to use at runtime. There are five commonly encountered Git config scopes, listed here from the most specific to the most general:
- workingtree
- local
- global
- system
- portable
Since workingtree and local git scopes are more specific than global, any variable set in these files will override the git config global scope. So if you need a specific Git config username or email for a given repository, or you want special settings for an added Git work tree, the local or workingtree scopes can be used.
List and show global git config
To see all of the properties configured globally in Git, you can use the –list switch on the git config command. Adding –the show-origin switch will also tell you the global .gitconfig file’s location.
global@git:~/$ git config --global --list --show-origin file:/home/gme/.gitconfig user.email=cameronmcnz@example.com file:/home/gme/.gitconfig user.name=cameronmcnz file:/home/gme/.gitconfig core.editor=vim file:/home/gme/.gitconfig http.sslverify=false file:/home/gme/.gitconfig credential.helper=store file:/home/gme/.gitconfig http.proxy=193.168.0.11 file:/home/gme/.gitconfig http.postbuffer=193.168.0.12 file:/home/gme/.gitconfig http.sslcainfo=193.168.0.10
Remove global git config settings
To delete git config settings simply use the unset command:
git config --global --unset core.editor
Occasionally, a property gets set twice and the –unset switch fails. In this case, simply use the global git config’s–unset-all switch.
git config --global --unset-all core.editor
The global git config is an important file for customizing your version control experience. Knowing how to show Git config settings is important, as is being able to edit, update and remove settings. Knowing how will certainly make your experience with the global Git config tool more pleasurable.
0 Comments
CAN FEEDBACK
Emoji