Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Aliases don't make git easier to understand, they make one specific git command require typing fewer characters to run.

I am not against making aliases, but just saying, if you don't have an understanding of the commands they run, you'll still one day be in a state you don't know how to fix, and THAT is when people "lose their code" etc.

You use git every day, it's worth learning and understanding. You don't need to be a pro, but you need to be good enough.



The only reason people lose code is because

1. they didn't read this one diagram: https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-...

2. And then they run `reset --hard`


I'm mostly with you, except, `git reset --hard` is relatively easy to recover from. `git reflog` generally can fix most `git reset --hard` commands.

On the other hand. `git checkout .` with unstaged changes tends to be the most common way I've seen people lose code via git.


That's fair. Both overwrite (edit: seemingly overwrite) (un)staged changes. But `checkout` requires less hyphens.

I feel like all of this would be resolved if my boy Linus had renamed `git add` to `git stage` or `git prepare` or something more clear.

Or added some warning, like "all this stuff you haven't committed yet; it's not managed by `git` so don't try to overwrite it all using `git` until you've committed some of it."


This is another argument why "not squashing is bad"; because it discourages people from committing.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: