checkout.defaultRemote:: When you run 'git checkout ' and only have one remote, it may implicitly fall back on checking out and tracking e.g. 'origin/'. This stops working as soon as you have more than one remote with a '' 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 ' will checkout the '' 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 " 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.