3 ms·
The below post conversation illustrates what is wrong with Git, and what is right with Git. I dont know much about cars. I drive a car that is boring. Automa
by ThinkBeat 5y ago
The below post conversation illustrates what is wrong with Git,
and what is right with Git.
I dont know much about cars.
I drive a car that is boring.
Automatic, ABS, whatever else.
It does not spend much time at the shop.
It starts, I drive it to where I need to go, turn if off.
repeat.
My car cannot pull a boat, it can't go off road, it can't go 0 - 60 in 3s,
I cant mount a snow plow on it, i cant transport most furniture in it,
It is not bullet proof, I could never race it, it does not impress the ladies,
it is not very hackable, and so on and so on.
A lot of people want a boring versioning system.
That does not need much care,
much effort,
nor a careful study of its internals.
and certainly not the ability to remember sequences of obscure commands and
switches to get things done.
Git is not a good fit as a boring versioning system.
I have a couple of friends who love tinkering with their trucks or cars.
They have cool cars that can do the stuff above in some combination (not bullet proof)
They are fun. It is cool to get a ride. It is great to feel their passion.
They want to optimize them for their needs and usually that involves making them
go faster or pull more stuff, or do even bigger sand dunes and river crossings
snow storms etc etc.
Git is a good fit as an amazing versioning system that will be there
for you when your tasks get complicated.
It will allow you to perform far more use cases.
The need to put in the time to learn it well is fully worth it.
The problem is that Git is sold as the best versioning for all things.
The vast majority have no need for its complexity.
The vast majority dont care that it is distributed, or even wish it was not.
They dont want 5 gig of repository history since the beginning of time.
Most people treat GitHub as the server and their computer as the only client
and would do just as well with SVN.
In a good deal of the projects, I have worked on, I think locked files would be
an easier and better solution, than merging hell.
(I know that it is a wildly unpopular view)
junon
Am I the only one that actually likes git? Everyone here says it's a hodgepodge of broken
things but I really struggle to see how.
TobTobXX
What made it really click for me is understanding the internals and how git works. Then all
the terms like head, branch, parent, commit, tree, etc. made sense for me and the way git
commands work is intuitive.
I still have to look up the order of arguments for commands like git rebase, but overall, it
makes complete sense.
I can really recommend "Pro Git" by Chacon and Straub. I got a printed version, but it is
also available under the CC-NC-SA here: https://git-scm.com/book/en/v2 https://git-scm.com/book/en/v2
- dogleash 5y ago>I dont know much about cars. No; you do. You know quite a lot about operating cars. You (or at least people following a traditional path to driving) took a class, operated under direct supervision for some minimum number of hours, passed both a written exam and a practical exam. All of that to be trusted in control of a car. The only reason operating a car can feel like such a lightweight operation is because extensive training and practice were employed to make it second nature.
- pmeunier 5y agoThe irony here is that I'm the main author of Pijul, and I don't have a driving license.
- ThinkBeat 5y agoI disagree a little bit. It is software vs hardware situation. I can work on my laptop all day long and get a lot of stuff done. I know how to use a laptop as long as it has an operating system the applications I need. That requires a lot of knowledge at several levels. How to use the OS, how to use a specific application. It also requires a physical dexterity keyboard, mouse buttons, eyes etc. It does not require much knowledge about what the computer is doing while I am working. If it stops working work stops. Same with a car, you can learn to operate it, and you have to learn to operate it in a safe and responsible manner. (in theory) If the car stops, I have no idea what to do. From the movies I have learned to "pop the hood" and look at the engine. Usually looking at the engine is not sufficient for it to start working again. So I have to call someone to fix it.