A few explicit choices
The example starts new repositories on main. Pull permits fast-forward updates only, asking you to make a separate decision when histories diverge. Prune removes stale remote-tracking references during fetch.
[init]
defaultBranch = main
[pull]
ff = only
[fetch]
prune = true
[core]
editor = vim
[diff]
colorMoved = defaultCheck where a setting came from
Inspect the effective configuration and its sources before editing it. This makes it easier to spot a project setting that overrides a global one.
git config --list --show-originKeep personal information out of examples
Add your own identity, email, tokens, and directory-specific preferences separately. A shared starter file should not accidentally become a source of personal data.