🔗 How Core Git Developers Configure Git

git butler, Git client for simultaneous branches on top of your existing workflow, talked to git core developers and asked them to help define What git config settings should be defaults by now. Here are some settings that even the core developers change.

# clearly makes git better
 
[column]
        ui = auto
[branch]
        sort = -committerdate
[tag]
        sort = version:refname
[init]
        defaultBranch = main
[diff]
        algorithm = histogram
        colorMoved = plain
        mnemonicPrefix = true
        renames = true
[push]
        default = simple
        autoSetupRemote = true
        followTags = true
[fetch]
        prune = true
        pruneTags = true
        all = true
 
# why the hell not?
 
[help]
        autocorrect = prompt
[commit]
        verbose = true
[rerere]
        enabled = true
        autoupdate = true
[core]
        excludesfile = ~/.gitignore
[rebase]
        autoSquash = true
        autoStash = true
        updateRefs = true
 
# a matter of taste (uncomment if you dare)
 
[core]
        # fsmonitor = true
        # untrackedCache = true
[merge]
        # (just 'diff3' if git version < 2.3)
        # conflictstyle = zdiff3
[pull]
        # rebase = true

read rest of the article on why