3 ms·
> Git is _incredibly_ complex to understand No it isn't. Git is just blobs, trees, commits, and refs. Git isn't easy but it's conceptually simple. I'll take si
by tasuki 2y ago
> Git is _incredibly_ complex to understand
No it isn't. Git is just blobs, trees, commits, and refs. Git isn't easy but it's conceptually simple. I'll take simple over easy anytime.
If you could explain the concepts Grace is built on, that'd be great!
> If you're one of the probably 20% or so who really feels like they understand Git
Again, blobs, trees, commits, and refs. I don't know all of git's crazy commands, but they can be explained in terms of these four simple concepts.
> As for local, well, if you're working with a team on GitHub or GitLab or Azure DevOps or some other hoster, you're already doing centralized VCS, you're just using a decentralized VCS to do it.
No, that is still fully decentralized. Each team member has a full copy of the repository, which, if GitHub or GitLab or Azure DevOps or whatever suddenly disappeared could be promoted to be the new shared source of truth.
At my $job-2 we were using GitLab but it often went down. I just set up a git repository on one of my servers and authorized everyone's ssh keys: it took me ten minutes and we had a way to collaborate even with GitLab down. Yes there weren't pull requests or anything, it was just a dumb repo used over ssh. But that was the whole point!
- Shish2k 2y ago> Git is just blobs, trees, commits, and refs By this logic the entire computing industry is so simple a toddler could understand it - “It’s just ones and zeroes” Unfortunately the complexity of a system is greater than the number of its components...
- tasuki 2y agoNo. Vast majority of software does not consist of four simple and easy to grok concepts. Vast majority of software consists of badly designed abstractions full of various hacked on workarounds for exceptional cases. Such as Subversion, what a horror that was!
- vouwfietsman 2y ago> Git isn't easy but it's conceptually simple That may be, but the state of your repo, expressed as a combination of the 4 things listed after doing an arcane and globally unique sequence of git commands, is in no way conceptually simple. If it was, the implicit lurking horror that every programmer knows lies inside git would not be a shared traumatic developer coming of age story. You are the exception here. > No, that is still fully decentralized. The word decentralized does not really apply here. Is Figma decentralized? Do you ever do peer-to-peer git? Do you really? Or do you kind of just have a single source of truth with a lot of local copies, that allow offline-first workflows that you rarely need. > if GitHub or GitLab or Azure DevOps or whatever suddenly disappeared could be promoted to be the new shared source of truth. This is not a selling point you think will be taken seriously, right?
- tasuki 2y ago> Do you ever do peer-to-peer git? Do you really? Or do you kind of just have a single source of truth with a lot of local copies, that allow offline-first workflows that you rarely need. Have you read my comment? Yes I did. I use GitHub to sync my git things, but if it were to disappear I could easily start using something else. Sometimes I push between other remotes too. Each of the repos is self-contained and whole by itself. > > if GitHub or GitLab or Azure DevOps or whatever suddenly disappeared could be promoted to be the new shared source of truth. > This is not a selling point you think will be taken seriously, right? Again, have you even read my comment? This is not a theoretical scenario, it's a thing that happened to me in the past. Thanks to git's distributed nature it was very easy to work around.