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.

git/.gitconfig
[init]
    defaultBranch = main
[pull]
    ff = only
[fetch]
    prune = true
[core]
    editor = vim
[diff]
    colorMoved = default

Check 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.

shell
git config --list --show-origin

Keep 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.

Further reading

Git configuration reference ↗