Git comes with this handy tool that let’s you manage your Git configuration with ease.
Configuration Levels
--local(Default) Local configuration values are stored and managed at the repository level. The values are stored in a file found in the repo’s
.gitdirectory:.git/configIf you are planning to set some configuration only to be used by the specific repo you are in, then go ahead with using
--local.git config --local user.email "sayan@mycompany.io"--globalGlobal configuration is one level above Local. These configuration are user-specific and managed through the
.gitconfigfile in user’s home directory:~/.gitconfigIf you want your configuration to reflect to all your repo’s in the system, then go ahead with using
--globalgit config --global user.email "sayan@emailprovider.io"--systemSystem-level configuration applies to every user on the system, which means if none of the the local or the global values overrides the system level Git configuration value will be used. These configurations are true for all the repos’ in the system and is managed through the
/etc/gitconfigfile.git config --system user.email "infra@mywebsite.io"
Listing all the configurations
To see all the configuration values, use the command:
git config --listIt can get quite messy when you have configuration values coming from multiple sources. To see the origin of the value as well add
--show-origingit config --list --show-origin
Your Identity
The first chore the you always need to do after setting up Git is setting up your user name and email address. This is required because Git attaches this piece of information to ever changeset that you create in Git, known as Git commit.
Which level of configuration should we use? Because the details are user specific in most cases, the
optimum answer is --global
git config --global user.name "Sayan Chowdhury"
git config --global user.name "sayan@emailprovider.io"
Let’s verify this in the global settings file:
$ cat ~/.gitconfig
[user]
name = Sayan Chowdhury
email = sayan@emailprovider.io
What are the other alternative will you use to verify?
Your Editor
Git invokes the editor for a lot of command for example while doing a commit,
or rebasing your commits. When you type these commands it’s fire up the editor
infront of you. Now, each of us has their own choice of editor so vim gives you
option to configure which editor you would like to use.
I’m a vim user, thus for me the command would be:
git config --global core.editor "vim"
Colors in Git
Coming soon
Merge and diff tools
Coming soon
Git configurations you might find useful
More details on the following config coming soon
aliascommit.templatecore.excludesfilegpg.programhelp.autocorrecthttp.cookiefilepush.currentuser.signingkey
–
To more on git config, read
man git-config