RE: Git checkout multiple options issue
- From
Randall S. Becker <rsbecker@nexbridge.com>
- Date
- Jan 28, 2019, 15:20 UTC
- Message-ID
- <000701d4b71c$f3ba57f0$db2f07d0$@nexbridge.com>
- In-Reply-To
- <HE1PR01MB3722D90668E75E4BCDBA71F2A9960@HE1PR01MB3722.eurprd01.prod.exchangelabs.com>
On January 28, 2019 9:25, COLLOMB Joris wrote:
Show 18 quoted lines
> -----Message d'origine----- >> De : Randall S. Becker <rsbecker@nexbridge.com> Envoyé : lundi 28 janvier >> 2019 15:12 À : COLLOMB Joris -EXT <joris.collomb-ext@alstomgroup.com>; >> git@vger.kernel.org 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.
Show 5 quoted lines
> 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