Re: [PATCH v3 10/21] checkout: split part of it to new command 'switch'
- From
Jacob Keller <jacob.keller@gmail.com>
- Date
- Mar 15, 2019, 06:11 UTC
- Message-ID
- <CA+P7+xpotm+W-4RRhchWvZ_mkr=eVKC4B8fKp8_gxBNGn+wrQA@mail.gmail.com>
- In-Reply-To
- <CABPp-BHpoa+tNW=7+6TOmoQTvbap3iavqApEGny4E-rwv1gZVQ@mail.gmail.com>
On Tue, Mar 12, 2019 at 9:52 AM Elijah Newren <newren@gmail.com> wrote:
Show 30 quoted lines
> > On Tue, Mar 12, 2019 at 8:37 AM Eric Sunshine <sunshine@sunshineco.com> wrote: > > > > On Tue, Mar 12, 2019 at 8:19 AM Duy Nguyen <pclouds@gmail.com> wrote: > > > On Tue, Mar 12, 2019 at 3:51 AM Phillip Wood <phillip.wood123@gmail.com> 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