git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Reset by checkout?

From
ANAtsushi Nakagawa <atnak@chejz.com>
Date
May 31, 2014, 05:46 UTC
Message-ID
<20140531144610.754B.B013761@chejz.com>
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 '<current-branch-name>'".

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?
Cheers,
-- 
Atsushi Nakagawa
<atnak@chejz.com>
Changes are made when there is inconvenience.
Next: Andreas Schwab
Message 1 of 18 in “Reset by checkout?”
  1. Atsushi NakagawaMay 31, 2014
  2. Andreas SchwabMay 31, 2014
  3. Atsushi NakagawaJun 1, 2014
  4. Kevin BraceyMay 31, 2014
  5. Atsushi NakagawaJun 1, 2014
  6. Kevin BraceyJun 1, 2014
  7. Junio C HamanoJun 2, 2014
  8. Kevin BraceyJun 3, 2014
  9. Felipe ContrerasJun 3, 2014
  10. Atsushi NakagawaJun 7, 2014
  11. Philip OakleyJun 7, 2014
  12. Kevin BraceyJun 9, 2014
  13. Atsushi NakagawaJun 7, 2014
  14. Felipe ContrerasMay 31, 2014
  15. Felipe ContrerasMay 31, 2014
  16. Atsushi NakagawaJun 1, 2014
  17. Junio C HamanoJun 2, 2014
  18. Junio C HamanoJun 2, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.