[include]
	path = ~/.gitconfig-user

[core]
	; Git sets `$LESS` to `FRX` if it's not already set. `X` disables
	; sending termcap initialization and deinitialization strings to the
	; terminal, which leaves (potentially log) text on the screen and
	; disables mouse scrolling.
	pager = less -+X
	hooksPath      = ~/.githooks
	excludesFile   = ~/.gitignore
	attributesFile = ~/.gitattributes

[init]
	templateDir = ~/.gittemplate
	defaultBranch = master
	; defaultBranch = main

[remote]
	pushDefault = origin

[push]
	default = current
	recurseSubmodules = check

[branch]
	autoSetupMerge  = always
	autoSetupRebase = always

[fetch]
	prune     = true
	pruneTags = true

[rebase]
	autoSquash = true
	autoStash  = true
	updateRefs = true
	missingCommitsCheck = error

[pull]
	rebase = merges

[merge]
	ff = false
	autoStash = true
	conflictStyle = diff3

[am]
	threeWay = true

[rerere]
	enabled = true

[diff]
	renames   = copies
	algorithm = histogram