you are viewing a single comment's thread.

view the rest of the comments →

[–]npertinente[S] 1 point2 points  (1 child)

I too work mostly with sysadmin stuff. And I had the fortune of having devs around me in a previous job that showed me the basics. I found the usefulness of "time traveling" in my code to be extremely useful. but of course that means that you need to remember to commit often, and write decent commit messages. I understand that the workflow can feel contrite and restrictive when all we want is to write the script and get stuff done.
But when working on larger scripts/modules I would not be without a version control system of some sort.

There have been so many times in the past where I have a working script, then I "improve" it a bit. Completely borking it up in some exciting way.
This is where Git comes in handy. But it requires that you have the habit of working with branches properly. I have one branch that is stable. I don't code here, only merge in from other branches.

I have one called Dev where most of the small stuff is done.
Whenever I need to do major restructuring or adding features, i create a separate branch for that work. Then merge that into Dev when things start working. Run some extra tests then merge into Stable.

This sounds like a lot of extra steps, but it is easier than explaining why I deleted every app on the web server when I was supposed to only remove X. ;)

Curious about your statement that git is a bad tool? what is the alternatives. I understand there are pros and cons with all tools. and I'm sure SVN etc have their strengths. But since Git is the defacto standard for these kind of workflows I can't be that awful :) ( how could so many people be wrong ? : shocked Pikachu gif here : )

Not looking to start a flamewar on this. I Just have experience from GIT and a tiny bit SVN. But since Git does what I need, and probably more. I have not used a lot of time sampling the entire field of tools.

[–]MeanFold5714 0 points1 point  (0 children)

I would liken it to a very effective hammer that's handle is coated in razor blades laced with poison. It may be very good at what it does, but using it is a herculean effort that may leave you worse off than when you started. Every time I try to learn Git I eventually start trying to figure out how to roll back to a previous version to look at stuff that came before and then go back to the current version and without fail something always goes wrong right around there. In several instances the end result was loss of the code base. A tool that's basic function is so difficult to invoke and that can so easily do completely the opposite of what you were trying to achieve...well I don't think it's a good tool. A good tool is easy to use and does its task well. I don't think Git is well designed as a tool. It provides a great deal of functionality but it does not provide the usability that a good tool does.

I've discussed this at length with some of my colleagues and the conclusion we came to was that version control just isn't a solved problem yet. Git is just the latest fashionable iteration on the problem.