checkout.defaultRemote::
	When you run 'git checkout <something>' and only have one
	remote, it may implicitly fall back on checking out and
	tracking e.g. 'origin/<something>'. This stops working as soon
	as you have more than one remote with a '<something>'
	reference. This setting allows for setting the name of a
	preferred remote that should always win when it comes to
	disambiguation. The typical use-case is to set this to
	`origin`.
+
Currently this is used by linkgit:git-checkout[1] when 'git checkout
<something>' will checkout the '<something>' branch on another remote,
and by linkgit:git-worktree[1] when 'git worktree add' refers to a
remote branch. This setting might be used for other checkout-like
commands or functionality in the future.

checkout.optimizeNewBranch::
	Optimizes the performance of "git checkout -b <new_branch>" when
	using sparse-checkout.  When set to true, git will not update the
	repo based on the current sparse-checkout settings.  This means it
	will not update the skip-worktree bit in the index nor add/remove
	files in the working directory to reflect the current sparse checkout
	settings nor will it show the local changes.

checkout.overlayMode::
	In the default overlay mode, `git checkout` never
	removes files from the index or the working tree.  When
	setting `checkout.overlayMode` to false, files that appear in
	the index and working tree, but not in <tree-ish> are removed,
	to make them match <tree-ish> exactly.
