On Tue, Mar 12, 2019 at 9:52 AM Elijah Newren <newren@xxxxxxxxx> wrote: > > On Tue, Mar 12, 2019 at 8:37 AM Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote: > > > > On Tue, Mar 12, 2019 at 8:19 AM Duy Nguyen <pclouds@xxxxxxxxx> wrote: > > > On Tue, Mar 12, 2019 at 3:51 AM Phillip Wood <phillip.wood123@xxxxxxxxx> wrote: > > > > I tend to agree with this but that's probably because I don't really use > > > > checkout -B. I'm not sure if it's widely used or not. I do find checkout > > > > -b convenient though. > > > > > > Yeah I think both -b and -B are about convenience. > > > > > > But I would not mind dropping -C for now, if people think it's not > > > that useful. We can bring it back in incremental updates if we realize > > > we miss it so much. I'll keep it unless somebody says something. > > > > It's not much of a datapoint, but I do use "git checkout -B" (and > > therefore would use "git switch -C") periodically (in addition to > > -b/-c, which I use all the time). And, convenience is important, > > especially considering that "git switch" is already more painful in > > some ways than "git checkout", due to having to trigger and spell out > > certain things explicitly (such as detaching). > > Ooh, interesting. I haven't used it and didn't know who did, but > since you do you can probably answer the question surrounding the > long-name for the -C option from earlier in the thread: > > Do you use checkout -B only when checkout -b fails, or do you use it > pre-emptively? The former would suggest we should use a name like > --recreate, while the latter would suggest a name more like > --force-create. I use it periodically sometimes like this: git checkout -B master origin/master Essentially, I use it as a way to quickly and forcefully re-create a branch that tracks the remote branch. For example, I might have made a commit or two on master, and realized I should be doing a separate branch, and I want to quickly make that a branch by doing git checkout -b some-branch. Then, later I want to switch back to master, and I really just want master to be exactly what the remote had. Sure I can do that in a lot of ways, but it's nice to have a somewhat convenient shortcut to do it in one command. So, for me, it's natural to think of this as a "--force-create", but use of either --recreate or --force- create work with my setup. Basically, for *me*, I almost always use it when I know there's a branch that I want to re-setup there, and rarely verify that fact using a "oh, -b failed, I guess I need -B" Regards, Jake