"Shawn O. Pearce" <spearce@xxxxxxxxxxx> writes: > I have recently observed a rather large number of users who forget > to specify the base revision when they start a new branch with > git-checkout -b. Many of these users are shocked many hours and > commits later when their prior branch is now also part of the new > branch. Nasty words about Git usually follow the discovery. > > This introduces a new config option: checkout.requireSourceBranch, I'm not sure about this. Often after you started to code something while on 'master' you realize that work is not trivial and needs its own branch and then "checkout -b" without having to say 'master' (or HEAD) is very handy. I think requring an explicit fork-point when you are _not_ on 'master' might be a better behaviour. In other words, you allow "checkout -b" (and "branch") to default to HEAD only while on the branches marked in your configuration file: Then: [branch] allowbranchbydefault = main allowbranchbydefault = test can be used to say "while on 'main' and 'test' branch, 'git checkout -b' and 'git branch' without branch point defaults to the current branch". You could turn it around and make it a per-branch configuration, like: [branch "main"] allowbranchbydefault = true - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html