Hi all,

One of the more underrepresented command I use in git use on a regular
basis is this "reset by checkout".  It's what's currently achieved by
this convoluted expression:

  `git checkout -B <current-branch-name> <tree-ish>`

This is such an useful notion that I can fathom why there isn't a better,
first-tier, alternative.  i.e.  How come there's no 'git reset
--checkout'?  The command above even prints "Reset branch

The problem with 'checkout -B' is it's so easy to mistype!  If I had a
yen for every time I accidentally left off the '<current-branch-name>'
part and created a branch named "<tree-ish>" at HEAD...

So, I defined alias.become '!git checkout -B "$(git symbolic-ref --short
HEAD)"' and was happy for a while.  Now, the lack is glaring every time
I'm explaining workflows to people who don't have the the alias.

Ok, the typical use case is: I'm on 'master' and I make a few test
commits.  Afterwards, I want to discard the commits and move back to
'origin/master'.  I could type 'reset --hard origin/master' and risk
blowing away dirty files if I'm not careful.  Or, I could use "reset by
checkout" and be carefree.

Any ideas?  Am I doing something wrong or unconventional?


Atsushi Nakagawa
Changes are made when there is inconvenience.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to