Re: [PATCH] Disallow creating ambiguous branch names by default
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 19, 2011, 20:49 UTC
- Message-ID
- <7v1uwh2kks.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CAOTq_ptU2QmPMMZYQLd2MFQ_=_RnADdBnoN5+v4rXh_nmpOcjw@mail.gmail.com>
Conrad Irwin <conrad.irwin@gmail.com> writes:
Show 5 quoted lines
> In the process of changing things around to do this, I noticed that > > git checkout -M <foo> <current-branch> > > surprisingly works,...
What is "-M" supposed to do???
If you meant "-B", that should work. When I want to rewrite a topic in a non-trivial way, I would often do:
$ git checkout HEAD^^^
work to redo what the few commits at the tip should have done,
creating commits.
$ git diff @{-1} HEAD
$ git checkout -B @{-1}which often happens to be simpler and more flexible than the canned rewriting options "rebase -i" can offer me.
> ... in that you will get a:
>
> $ git rev-parse HEAD@{1}
> warning: Log .git/logs/HEAD has gap after Fri, 19 Aug 2011 02:00:09 -0700If that is the case, then the codepath to update the reflog is broken. That is not a reason to forbid -B, though.
But because I do not know what you meant by "checkout -M", ...