Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Learning Git from Novice to Expert (juanmanuelalloron.com)
52 points by juan_allo on May 12, 2020 | hide | past | favorite | 5 comments


I'm really surprised that nobody mentions tig [0] when talking about git. It is by far the most convenient git visualizer I've ever used, and I use it hundreds of times a day. It's written in C so it's super fast (loads a huge project in a few seconds), and it's a CLI so you don't even have to leave the terminal.

[0] https://github.com/jonas/tig


... or Magit.

Needs Emacs, but installable in 1 minute from Spacemacs installation, requires zero emacs knowledge and has vim-like shortcuts if required. I haven't seen any git client more convenient and powerful at the same time than Magit and I've tried dozens; I don't use Emacs but keep it around solely as a git front end.


While it’s very convenient to view the repository DAG, I find it inconvenient to actually scroll through and pore over the the patch/diff for some commit. (IIRC, you can only scroll up or down by a page, and the diff representation is fixed)


Also:

- Interactive rebase - reorder, squash, delete etc commits. Ensures your history is 'implement X' rather than 'implement X' 'fix typo' 'update old comment'.

Command line UI (git rebase -i) is ... dated. But Fork, SourceTree, Tower and a few others have better UIs.

- If someone added a secret in the past, which should have been in a .env file: 'BFG repo cleaner'.


> Git is not an acronym, in slang “git” means “a stupid person”. Linus Torvalds when he created the first version name it “the stupid content tracker” and that is how Git was born!

He was pissed at Larry McVoy, hence the name. But things need different explanations.

It’s like the gnu BFD library — I was asked once during a talk what the name stood for and so I had to think on my feet: Binary File Descriptors. Not the actual origin or meaning of the name!




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

Search: