Hacker News new | ask | show | jobs
by zx8080 1057 days ago
> Git is analogous - most uses of Git are formulaic, and the underlying concepts are simple enough - but actually accessing the right lever to pull when disaster strikes is unclear and hard to experiment with.

Would you mind sharing some examples of hard-to-recover git related disaster? I ask because I previously worked with applying hundreds of patches on top of chromium (yes, Opera). This resulted in __multiple__ merge‐conflicts. However not anything close to what I would call a git related disaster. Anything could be undone nicely.

What is important is that git is very verbose by default. It guides through not only a repo current state but also options user has.

I've met many developers not caring to read any of a git output and then claiming git is too complex and git broke their repo and it's "too complex to use". I'm sure it's not the case for you though.

So I'm just curious what kind of disaster was mentioned above.

2 comments

> I've met many developers not caring to read any of a git output and then claiming git is too complex and git broke their repo and it's "too complex to use".

This a hundred times over.

Not OP, but I've encountered a few situations where the solution was modifying .git/ manually. The one that comes to mind was having two branches with names separated only by case on a case sensitive system, and then checking out both on a case insensitive system.
Wouldn't be easier to rename the branches on the case sensitive system (a throw away Linux VM would do), push, pull?

Of course if the solution is editing .git/config, that's even easier, but it probably takes more than that.

It's been awhile so my memory is fuzzy, but this was at a windows-only shop back before WSL was a thing and getting a VM involved an annoying months-long requisition process. I think the repo state was actually corrupted too, so pull may not have been working.
> I've encountered a few situations where the solution was modifying .git/ manually

Would be very interesting to know the purpose of modifying .git/ manually.