Web lists-archives.com

RE: Git checkout multiple options issue




On January 28, 2019 9:25, COLLOMB Joris wrote:
> -----Message d'origine-----
>> De : Randall S. Becker <rsbecker@xxxxxxxxxxxxx> Envoyé : lundi 28 janvier
>> 2019 15:12 À : COLLOMB Joris -EXT <joris.collomb-ext@xxxxxxxxxxxxxxx>;
>> git@xxxxxxxxxxxxxxx Objet : RE: Git checkout multiple options issue
>> 
>> On January 28, 2019 8:25, COLLOMB Joris wrote:
>> > git checkout -fb "branch_name"
>> > (force branch creation and checkout it)
>> >
>> > doesn't work (even if option a separated).
>> >
>> > I don't know if this is consider as an issue, but here it is.
>> 
>> I think you might mean (which works on every platform I have):
>> 
>> git checkout -f -b "branch_name"
>> 
>> There is no provision for aggregating options into one. -fb (invalid) is
not the
>> same as -f -b (valid).

> git checkout -f -b "branch_name"
> gives me " Fatal: A branch named 'branch_name' already exists."

Once the branch is created, you can't force its creation, because it is
already created. Just

git checkout "branch_name"

is sufficient at this point. git is correct to complain that you are trying
to create a branch that already exists.

git log --decorate --oneline --graph --all

will show you where your branch points in history at any given moment in
time in a convenient form.

> I understand that here the checkout is force, but not the branch creation.
> The opposite option order doesn't work:
> 
> git checkout -b -f "branch_name"
> gives me "Fatal:  '-f' is not a valid branch name."

In this case, you are asking git to create a branch named -f (the -b branch
option). Then "branch_name" becomes the reference that would be used to find
the commit that -f would have pointed to. However, -f is not a valid name
because it is an option and git is correct to reject it.

git checkout options are described here:
https://git-scm.com/docs/git-checkout

Regards,
Randall