43
What were your misconceptions about Git when you first started?
(programming.dev)
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Resources
Rules
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.
I tried to follow tutorials that use the command line. In hindsight that is terrible way to teach Git, which is fundamentally quite a visual thing.
It's like trying to teach people about filesystems only using
cd
,ls
andpwd
instead of just showing them a file tree.Actually it's even worse because Git's CLI is so notoriously awful.
Eventually I tried Sourcetree which made it all make sense. Though Sourcetree isn't a very good GUI, mainly due to being hella slow. I eventually switched to GitX which is probably the best GUI I've used so far and makes everything extremely clear and easy. Unfortunately Mac only.
I now mostly use the Git Graph VSCode extension which is excellent and integrates pretty well with VSCode. Unfortunately it has been abandoned by its author and they frustratingly included a license clause saying only they could release versions of it, so it's basically abandonware. But it still works so I'll figure out a replacement when I have to.
Oh dang, I use that extension too and I didn't know it was abandoned. Let me know if you find a good replacement
If you use the git command line (and I do) you should spam
git log --graph
(usualy with--oneline
).And for your filesystem example I sure do hope you use
tree
!Yeah... but that's just a poor man's GUI. Why use that when you can use a proper GUI? The only reason I can think of is if you happen to be in a situation where using a GUI is a bit of a pain (e.g. SSH).
It's a question of workflow. Git doesn't guide you (it's really workflow agnostic) and I find it easier to taillor CLI to fit my exact need, or use whatever was recently added (like worktrees a few years ago). I have yet to find a GUI/TUI that I'm not frustrated with at one point but everyone has its own preferences.