Live data from Hacker News

Things I just don't like about Git

cohost.org

61–70 of 118 posts

Re: Things I just don't like about Git

#61
post #7

I wish git would stash changes when I checkout uncommitted code

I thought git complains and doesn't allow you to checkout uncommitted code? Something along the lines of 'please commit or stash your changes before checking out'

It does, they wanted an automatic thing to happen. Imo, i would never want this by default. that complaint/warning has saved me a number of times, from breaking other things

Re: Things I just don't like about Git

#62
post #44

I can understand not using capital letters for short informal messages, but reading whole article written in such style is hard. That said, I agree with most points. The main problem with Git is that it's not bad, it's good enough. Mercurial and Fossil are superior, but Git is good enough, so people won't switch.

Fossil seems superior (never used it professionally though), but i did use mercurial, and in practice it's really inferior imho. It isn't much simpler, as my git aliases are with me since 2014, and that make git as simple to use (for me) as mercurial in cli. If i need to work with VSCode, both plugin are as "easy" to learn anyway. Magit is just more efficient (thus easier) for idiots like me that had too much time at school, but i understand this is a bad argument.

But no reflogs and no rebase makes it harder to use branching locally, and branching in general in mercurial isn't as flexible as it is in git (ok, i get it, it is footgun, but an airsoft footgun imho).

Re: Things I just don't like about Git

#63

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.

Scrap the thing entirely and replace it with something that uses intuitive metaphors like "save", "load", "undo", "go back to old version", "update my work with work from colleague", "update the official state with my work" and others. Folders instead of branches. Be 100% language-aware; any merge result has to build obviously. If this rejects actions and limits possibilities that Git provides, so be it.

I think folders instead of branches is a mistake, because folders are a tree but branches are a graph.

Re: Things I just don't like about Git

#65

Earlier quoted context omitted.

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

It's easier to support a company of users when everybody is using the vcs tool in a consistent way.

I suppose. I'm bitter because I worked at a company where they wanted git used a certain way, which is fine, manage the main repo however you want. The main repo should have some standards and I will follow them. (Preferably this will be automated to for consistency and to keep egos out of the process.)

However, they overstepped and gave me a hard time when they learned I was managing my own local repo how I wanted. I'm relatively good with git and would clean up my pull requests to meet the standards before submitting them to the main repo, but they still hassled me over the naming of my local branches and doing local rebases, etc.

Re: Things I just don't like about Git

#66
post #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 eng…

Your deploy process says nothing if several (possibly thousands? a submodule can be big) files are missing and this is a complaint you have about git? It sounds like more of a complaint about the deploy process.

There certainly were defects in the deploy process, and we have since moved to a much better method. This was our docs tree, so it didn't break the code, just the, well, public documentation.

It just was annoying that you can use a submodule but git will happily ignore it not existing. It just made the whole thing super janky.

Re: Things I just don't like about Git

#67
post #24

> on a similar note, it would be nice to be able to have multiple authors in a commit message. it's one of the few times in git that there's only one of a thing allowed. I mean that's just not true. https://docs.github.com/en/pull-requests/committing-changes-...

The point tef is making is that a commit header can only have one Author: field. If you want more than one author you have to work around git’s design limitation using ad-hoc trailer fields as described by your link.

Re: Things I just don't like about Git

#68
Seems more like a rant where the author does not even show how he gets himself into the trouble is tries to describe.

Rebase, merge, and submodules being good examples. Show what you are trying to do and it becomes a whole lot easier to understand. Who uses rebase often anyways ?

Poorly written also imo.

Re: Things I just don't like about Git

#69

Earlier quoted context omitted.

It's easier to support a company of users when everybody is using the vcs tool in a consistent way.

I suppose. I'm bitter because I worked at a company where they wanted git used a certain way, which is fine, manage the main repo however you want. The main repo should have some standards and I will follow them. (Preferably this will be automated to for consistency and to keep egos out of the process.) However, they overstepped and gave me a hard time when they learned I was managing my own local repo how I wanted.…

That seems unnecessary. Maybe you made someone feel threatened.

Re: Things I just don't like about Git

#70

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…

Jujutsu/jj (https://github.com/martinvonz/jj) keeps most of Git's data model and tries to improve the UX. It can even be used with existing Git repos.
Post reply on HN