There are a number of different ways to customize your development environment, but the global Git config file is the one most likely to be used to customize settings such as your username, email, preferred text editor and remote branches. Here are the key things you need to know about the global Git config file.
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:
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.
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.
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
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.
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” |
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:
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 worktree, the local or workingtree scopes can be used.
To see all of 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-originfile:/home/gme/.gitconfig user.email=cameronmcnz@example.comfile:/home/gme/.gitconfig user.name=cameronmcnzfile:/home/gme/.gitconfig core.editor=vimfile:/home/gme/.gitconfig http.sslverify=falsefile:/home/gme/.gitconfig credential.helper=storefile:/home/gme/.gitconfig http.proxy=193.168.0.11file:/home/gme/.gitconfig http.postbuffer=193.168.0.12file:/home/gme/.gitconfig http.sslcainfo=193.168.0.10
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.
The above is the detailed content of How to set important Git config global properties. For more information, please follow other related articles on the PHP Chinese website!