Just so you know, "git -amend" doesn't amend anything.
It gets parsed as: git -a -m 'end'
That is, it commits all modified files with a message that just says "end"
I suffer so you don't have to 🤦♂️
@jon_valdes I have a surprisingly high amount of commits with the message"--no-edit" because I always type "git commit -a --amend -m --no-edit"
@jon_valdes sounds like you should add an alias in your bashrc ...
@jon_valdes If I had a nickel for every time I typed “git —amen”...
Nice anecdote, but when did that (last) cause you trouble? Asking because there is a safeguard in place for 11 years now:
$ git commit -amend
error: did you mean `--amend` (with two dashes ?)
The commit introducing this is: https://github.com/git/git/commit/3a9f0f41db87e197708f84aeb2487bc983f99c9c
@danimo I found out because it happened on my laptop 1 minute before I posted that toot. Laptop's Ubuntu 18.4, with whatever git version it is that comes with it 🤷♂️
Ha! I just checked, and I had mispelled "amend" as "ammend". The correct spelling does give a warning. The wrong one doesn't
@jon_valdes And this is why I abhore using dashes (or anything else) to flag options. I'm dating myself, but I still like the Tripos/AmigaDOS way of dealing with options and flags. The latter has its own quirks, but they err on the humorous, not the destructive.
@jon_valdes been there, done that. I know how you feel. That tiny dash ...
@jon_valdes double dashes matter :0
@jon_valdes -a is for --all option not for --amend...
@jon_valdes This is an excellent gotcha, up there with the time I "tar *"'d my home directory, excluding all dotfiles by accident.
If it helps, (sans Java) the general rule is fully spelled out flags get two hyphens while single letter flags get one.
So, if amend were a flag, you'd do `git --amend` and, if there weren't any, it would (I'd think) just safely error out. Because there was just one hyphen used (and those can be chained into just one hyphen, usually), it reached for any single-letter flags were valid and used those.
That's how it tends to work for Linux/Unix, at least.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!