Live data from Hacker News

Things I just don't like about Git

cohost.org

21–30 of 118 posts

Re: Things I just don't like about Git

#21
The number of people who will insist that Git needs to be this way because of its power. If only you would bother to study the internals, you would see how beautiful it is on the inside. Why don't you just learn your craft?

Like, fine, you are just so much smarter than me. I have spent many hours going through tutorials and the documents, and I still run into problems from time to time on doing things that feel like they should be routine.

I can have a surface level understanding of most other tools without fear of breaking the world.

Re: Things I just don't like about Git

#23

I wrote my company's git wrapper. It was meant to standardize our workflow and to be communal memory for every lesson learned and sharpened edge shaved. It's now 6000 lines of bash. (Ok, I'm a little proud of it. I'll open source it as soon as I rewrite it in Python.)

What’s the shellcheck output look like? Sounds marvelous.

Re: Things I just don't like about Git

#25
Comes up in every conversation I have about Emacs, Git, CSS, etc: Just because a tool is the best at what it does, that doesn't necessarily mean it's good at what it does. Those are two different metrics.

There's no danger of me dropping Git, the best alternative I've seen is Fossil and (opinion me) I think Fossil makes more mistakes than Git does. But Git definitely still has flaws; a lot of this post rings true to me.

I do think that Git gets a lot better the more that you understand how it works. Not perfect, a lot of the flaws being pointed out here are core flaws with Git's internals and have nothing to do with the UI. But it does get significantly better; some of the failure modes are much easier to avoid if you've spent time digging into how Git works, and the whole thing starts to feel a lot more elegant the more that the abstractions are stripped away. But that's also kind of a flaw in itself: Git's user interface is much more complicated than the underlying program or concepts are, which is obviously not great.

Re: Things I just don't like about Git

#26
post #16

Are there other free (like payment) alternatives to git? The only other one I know of that can be used for large files is https://www.plasticscm.com/ .

maybe fossil[0]? Not sure about `large files` (and in fact I went to comment to ask about anyone using it 'in production' when I saw your comment) [0]: https://www.fossil-scm.org/home/doc/trunk/www/index.wiki

Re. large files: fossil inherits sqlite's limit of 32-bit signed integers for blobs, so 2GB. Fossil's own developers (myself included) have never come anywhere near that limitation in everyday SCM use.

Re: Things I just don't like about Git

#27

I love these posts. I bookmark all of them. I feel strongly that VCS's could have much better UX and reliability. I'm trying to design one myself instead of implementing it in a weekend. (Though I do understand the constraints Linus was under when he made Git.) I'd love to hear more about what people hate about Git.

Yeah I think the point about monorepos vs submodules is probably the biggest non-usability issue with Git.

In a very large project you can have a monorepo, and then everything is slow and you can't easily use and work on a subset of the code.

Or you can use submodules and then testing, refactoring and making commits all become a nightmare.

Binary files is another crap area of Git. LFS is useless. Lots of people have Stockholm syndrome and think that Git doesn't support large/binary files well because it's immoral rather than just because it's not something Linus ever needed.

I'm still a bit sad that most of the attempts at replacing Git focus on the poor conflict resolution story (which is poor but tolerable) rather than these more fundamental issues.

Re: Things I just don't like about Git

#28

The first time I tried to use git, I shredded my repo trying to revert an edited file.

Yeah I've had similar experiences. I can make my way around git just fine now, but the learning curve was not pleasant. Git is one of my two perennial examples of "why programmers should not be allowed to design UIs, because they suck at it" (the other being vi).

Re: Things I just don't like about Git

#29
I'm dying laughing

> submodules? they're a file in the repo with a special type inside the trees, git knows when checking out that the file is special, and could run other commands. it then does not run those commands and the person using submodules begins crying.

For a while, at my company, we used a git submodule (err, I unfortunately used a git submodule... this was my fault) and it was tradition for every new engineer to have a bad deploy because git silently ignores the submodule not existing on disk. So they would deploy, the submodule would be missing, and boom.

Re: Things I just don't like about Git

#30

I wrote my company's git wrapper. It was meant to standardize our workflow and to be communal memory for every lesson learned and sharpened edge shaved. It's now 6000 lines of bash. (Ok, I'm a little proud of it. I'll open source it as soon as I rewrite it in Python.)

Is it easier to learn the simple concepts of git and have transferable knowledge, or to learn your proprietary 6000 line bash script?
Post reply on HN