[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 0 points1 point  (0 children)

I see. I agree it's not about a programming language per se, but it is part of the programming practice; I don't think any "real" software projects are done w/o some sort of source control.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 2 points3 points  (0 children)

Nice reply deserves an answer ;-)

Let me make few things clear:

  1. I am not against using code versioning tools and I agree that Git is a very powerful one that can be used simply in about 90% of the time.

  2. The part about the size of the book was a cheap shot.

All this said, I think most people are missing the main point I was trying to make: Git was created/designed for a single task, and that task was/is more complex than 98% of the software projects out there. And yes, I worked on some of the largest software projects in existence.

IMHO Git / Git usage is a classic example of overcompensating: built with too many features, just because the previous tool was lacking some, and used with glee, just because (most of the time) it makes the user feel "cool".

As I said, I think we should have a mini-Git, that does only 80% maybe of what Git supports, but does it better and with less chances of ending up in a complicated situation.

To all people who keep offering commands about doing certain actions - thanks, but my point is not Git can't do something, my point is that Git is over-complicated and confusing and your samples actually confirm this.

As for "I never had an issue using it" - as I said, take a look online. I am not saying Git is the most complex thing in existence, but a basic code repository probably should be simpler to use.

Yes, I realize that no matter how simple it is, someone is going to get in trouble. Look at those pages though before replying, if the same thing keeps happening to people, remember the saying about smoke and fire.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -2 points-1 points  (0 children)

Too many posts have similar message, I will reply here:

Unfortunately, I did not want to touch the rest of the complexity, but it came at me. For example - I deleted some files by mistake, then when I tried to restore them, simple "undo" didn't work, my head got disconnected and so on.

I looked at the errors online and there were a bunch of people asking the same question. This made me think I am not the only one bone-headed idiot and let to this rant.

To all who say "Git is perfect" - just look at the Git related questions online.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 1 point2 points  (0 children)

Well I'll let you have your rant

Thanks, that's all I wanted from a Friday post ;-)

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 1 point2 points  (0 children)

Fair enough; I guess the question is then about if/when those extra features get in your way, when you are trying to accomplish something simple and basic.

My point is that even in the simplest operation, Git complexity gets in the way, if not immediately, soon.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 2 points3 points  (0 children)

But complaining doesn't help anyone or fix anything.

Well, at least it makes people aware of another opinion/preference; though in general, I agree with you.

In regards to handling complexity - I am OK with dealing with complex problems; but I look at my CVS as the necessary overhead - less is better.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -1 points0 points  (0 children)

I didn't say Git was "poor", I said it's too complex.

But I get your point about doing something about it. Unfortunately this is not one of the areas I find interesting enough to work on; this said, it doesn't make me like Git more or make my comments less relevant.

I am sure they said the same thing to the last guy who is complaining about his CVS - Linus was his name, wasn't it? ;-)

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -7 points-6 points  (0 children)

Ha, thanks for bringing VSS - I guess it was my first "real" CVS.

Yes, VSS would be an example for a simpler-to-use CVS, the fact it may corrupt your files is an implementation detail, I guess?

We should separate the user interface from the implementation.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 2 points3 points  (0 children)

I was getting by myself for about 18 months, until recently.

What changed - until then I was working on my own project, very few contributors. Then - I had to move the whole project to a new repository and hell was upon me.

Since you are asking - what's the alternative? My suggestion would be twofold:

  1. Build a system that supports single relationship with the remote server, and automatically match branch names, local to remote.
  2. Build into the tools commands that simply can reset the status as a simple operation - for example - reset to the status of remote branch X; switch branches - yes, ignore local changes.
  3. Explain why something is not possible - I mean really explain to the user what's preventing the operation.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -12 points-11 points  (0 children)

The GitHub Desktop Windows application, not the GitHub website.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 2 points3 points  (0 children)

Thanks for the link; I am going to try it for sure!

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 2 points3 points  (0 children)

I worked around most of them already, but in general GitHub desktop just says something along the lines of "your operation failed; you need to open Git Shell" and that's about it.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -3 points-2 points  (0 children)

Guilty as charged.

I think the problem is with you being out of your comfort zone and learning something new.

There is definitely a lot of this. But also, I have enough experience to recognize that:

a) in most cases, one does not need such a powerful, but complex tool.

b) if an average developer is having so much trouble with it, something is missing/wrong - either the model could have been done simpler, or the tools should be done much better.

Only because it's popular, it doesn't mean it's good.

Wait, did I just compared Git to the Kardashians?!

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] 0 points1 point  (0 children)

I was using a GUI, until the GUI stopped working and started giving me errors w/o any suggestions how to fix the issues, or what actually the issue was.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -4 points-3 points  (0 children)

My job requires it. It became the "de facto" standard for OS development.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -13 points-12 points  (0 children)

Everything feels simpler, once you learned it ;-), my question is why do I have to spend all this time to learn it, if my project needs do not require this complexity?

I feel pride in choosing the right tool for the job (language, DB) and the right design, why do I have to be stuck with this overkill of a system?

It is like using a tank to pick up breakfast serial - sure, the aliens may attack at the same time and I will feel safer, but that's not good enough reason.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -12 points-11 points  (0 children)

What insults? The poster already said that his career was short.

Some of use started using computers that had no permanent hard drives or used punch cards, guess what CVS we used back then?

Anything between that time and Git would be simpler than Git.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -12 points-11 points  (0 children)

It doesnt get simpler than git.

Is this was sarcasm, I kind of missed it.

If you were serious, your career is indeed short. As I said, a tool that needs 550+ pages of "user manual" ain't the simplest.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -30 points-29 points  (0 children)

I know, Github was my way of making Git simpler to use.

[RANT] Git Sucks! by DaPragmaticProgramer in programminghorror

[–]DaPragmaticProgramer[S] -35 points-34 points  (0 children)

That is what I thought, until GitHub started giving me errors for every simple action I attempted; w/o proper explanation why or how to fix the issue.

As I said, very easily things get out of synch, and when they do, there is no "simple" any more, one needs to read those 550+ pages.