2 ms·
Only if --hard is given.
by cryptonector 4y ago
Only if --hard is given.
- remram 4y agoWhich is what we're talking about.
- cryptonector 4y agoRight, so stop typing that at all. Instead use `git checkout -f` to throw away extant changes. The `-f`/`--force` option is a lot clearer in intent than `--hard`.
- remram 4y agoThe GP was talking about "moving the branch pointer", which checkout does not do. I am encouraging you (for the second time) to read the thread you are replying into... git checkout can also nuke changes from both working copy and staging area. `git checkout <path>` will nuke working copy (and auto-completion is likely to give you a path when you were looking for a branch), `git checkout <ref> <path>` will nuke both. No --force required in either case, so let's not pretend that you can't lose changes without a scary-looking flag like --force or --hard.
- cryptonector 4y ago> The GP was talking about "moving the branch pointer", Not explicitly. `git checkout ref path` implies `--force`, since you're being specific. I would prefer if Git could keep a GCed pile of saved workspace changes every time you force checkout/reset. But for the love of all that is good, stop using `git checkout`/`git reset` in the few ways they hurt.