Advertisement

Set User Information

Configure your name and email globally.

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Set for current repository only:

git config user.name "Your Name"
git config user.email "your.email@example.com"

View Configuration

List all configuration settings.

git config --list

Show specific setting:

git config user.name

Show origin of settings:

git config --list --show-origin

Configuration Levels

System-level configuration (all users).

git config --system

Global configuration (current user):

git config --global

Local configuration (current repository):

git config --local

Set Default Editor

Configure default text editor.

git config --global core.editor "vim"

Use VS Code:

git config --global core.editor "code --wait"

Line Ending Configuration

Configure line ending handling (Windows).

git config --global core.autocrlf true

For Linux/Mac:

git config --global core.autocrlf input
Advertisement

Create Aliases

Set up command shortcuts.

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

Complex alias example:

git config --global alias.lg "log --oneline --graph --all"

Default Branch Name

Set default branch name for new repositories.

git config --global init.defaultBranch main

Color Configuration

Enable colored output.

git config --global color.ui auto

Diff and Merge Tools

Set default diff tool.

git config --global diff.tool vimdiff

Set default merge tool:

git config --global merge.tool vimdiff

Credential Helper

Cache credentials for HTTPS.

git config --global credential.helper cache

Store credentials permanently:

git config --global credential.helper store

Set cache timeout (in seconds):

git config --global credential.helper 'cache --timeout=3600'

Remove Configuration

Unset a configuration value.

git config --global --unset user.name

Edit Configuration File

Open configuration file in editor.

git config --global --edit

Useful Aliases

Common productivity-boosting aliases.

git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
git config --global alias.visual '!gitk'
Last updated: January 2026
Advertisement