DEV Community

Mark Adel
Mark Adel

Posted on

Useful Global Git Configurations

In this post, I'm going to share with you six global Git configurations that I use and find incredibly useful.

Global Git configurations are settings that apply to all your local repositories. They are stored in a file called .gitconfig in your home directory. You can view and edit this file, or you can use the git config command to modify it from the terminal.

To see the global configurations through the terminal, you can run:

git config --global --list
Enter fullscreen mode Exit fullscreen mode

Let's get to it!

1. git config --global init.defaultBranch main

This sets the default branch name to main instead of master when creating a new repository using git init.

2. git config --global help.autoCorrect prompt

By default, Git checks for spelling errors and suggests corrections, but it doesn’t automatically apply them. After configuring this setting, Git will prompt you to run the suggested correction.

$ git pusj
WARNING: You called a Git command named 'pusj', which does not exist.
Run 'push' instead [y/N]?
Enter fullscreen mode Exit fullscreen mode

To allow git to run corrections automatically, you can use help.autoCorrect 1 (runs after 0.1 seconds), help.autoCorrect 10 (runs after 10 seconds), or help.autoCorrect immediate (runs immediately).

I prefer using help.autoCorrect prompt to ensure that I will run the command that I intend to.

3. git config --global branch.sort -committerdate

This makes git branch sort the branches by the most recently used branches instead of alphabetically. This helps you to quickly find the branches that you are working on.

4. git config --global fetch.prune true

When you run git fetch, any branches that have been deleted on the remote repository will automatically be deleted from your local repository.

5. git config --global iso

When you run git log, dates will be displayed in ISO format for better readability.

For example, 2024-03-16 05:30:02 instead of Sun Mar 16 05:30:02 2024.

6. git config --global push.autoSetupRemote true

This makes git push automatically set up the remote branch. Otherwise, you'd need to do it manually like so:

git push --set-upstream origin <branch-name>
Enter fullscreen mode Exit fullscreen mode


I hope you found these configurations helpful. Please feel free to share yours!

You can find more on Git documentation.

Top comments (1)

harry_wood profile image
Harry Wood

I discovered (3) a while ago. Sorting the output of git branch by age has definitely saved me a lot of time.

(6) looks useful. I wonder if there's any disadvantage of automatically setting up the remotes like that.