Skip to content

Comment on Git for Computer Scientistsparent

Comments

I didn't say it's essential for other source control systems. It's only essential for git.

This is why git is so annoying to learn and I'm reluctant to recommend it. Unlike, say, a filesystem where you can understand it at the POSIX level and there's no reason to understand disk sectors, the internals of git are exposed and there's no simpler model of how it works. Many of the commands don't make sense unless you start to understand the internals.

I think the fact that git forces you to learn how it works is one of its greatest strengths.

It's not like it's rocket science either; git's internals are remarkably straightforward considering what it can do. By having a rudimentary understanding of what git actually is, even supposedly "advanced" features like rebasing and partial commits (git add --patch) make perfect sense.

Git is a tool that will be used constantly. It pays to learn it thoroughly.

The UI of the command line tool is sometimes iffy (git rm --cached?), but that I think is a separate issue. The other VCS systems, being so "user-friendly", don't seem to encourage one to actually learn them. Mercurial's branches still don't make sense to me (bookmarks are better), and SVN I can use almost solely because I've learned some magic incantations that work for what I need to do.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.