Live data from Hacker News

The Architecture of Git (2012)

aosabook.org

11–20 of 85 posts

Re: The Architecture of Git (2012)

#11
post #4

> To understand Git's design philosophy better it is helpful to understand the circumstances in which the Git project was started in the Linux Kernel Community. I don't understand this sentiment. It's not helpful to know the history at all. At best, it romanticize the choices made. Stating the goals would be an intro that shows some level of analysis.

No, the author is right. Git us in its core a database for managing patches. Understanding the needs of Linus Torvalds as his role of Kernel maintainer is about the only good way to understand why git is so strangely designed.

curious why you say it's strangely designed. seems pretty rational to me.

Re: The Architecture of Git (2012)

#13

> To understand Git's design philosophy better it is helpful to understand the circumstances in which the Git project was started in the Linux Kernel Community. I don't understand this sentiment. It's not helpful to know the history at all. At best, it romanticize the choices made. Stating the goals would be an intro that shows some level of analysis.

The goals are stated, just a few lines down in the same section you quoted. What makes you think design goals and philosophy aren't formed by history? How does knowing the history of a project romanticize it? Personally, I'd assume exactly the opposite, that knowing history is the only way to understand the goals and philosophy, and that romaticizing only happens when a history is not understood and/or the story is changed or told through a tinted lens.

Re: The Architecture of Git (2012)

#16
I've found this online course by Paolo Perrotta to be the best introduction to Git's architecture, by far: https://www.pluralsight.com/courses/how-git-works

He takes you pretty much from first principles all the way up to how remote repositories are tracked. Its been far more useful to me than simply trying to learn the CLI.

I realize its behind a paywall, but I'd recommend signing up for the free trial just to watch this course (if you're curious about the inner workings of Git).

Re: The Architecture of Git (2012)

#17

> To understand Git's design philosophy better it is helpful to understand the circumstances in which the Git project was started in the Linux Kernel Community. I don't understand this sentiment. It's not helpful to know the history at all. At best, it romanticize the choices made. Stating the goals would be an intro that shows some level of analysis.

If it had been started in e.g the game development scene there would have been some other design decisions made. The idea that the source tree is rather small and the history is short and there are few binary assets managed are definitely showing in the design.

Re: The Architecture of Git (2012)

#19
post #5

Git is the VCS most suitable for bottom-up learners. Which is the VCS most suitable for top-down learners?

    > Which is the VCS most suitable for ....
Git.

It doesn't matter what your question is. :-)

I mean, come on, it's not like you have a choice. You gotta use whatever your teammates/coworkers/organization is using.

That said, yeah, there's a lot of pedagogic problems with git stemming from the INSANE inconsistency of command-line. The only redeeming quality? It works and it's popular.

Post reply on HN