On 5/26/23, Blake McBride <bl...@arahant.com> wrote: > When I got myself in a mess with GIT, I requested help from the local "GIT > expert." However, more often than not, they couldn't figure it out either.
Never did that in my life. I always rely on documentation, books and myself. I'm self taught :) From my experience, "experts" on Internet more often than not don't know what they are talking about. Of course, there are some very good narrow specialists out there but their advice is usually very expensive. > Given this experience, I have asked several people why they use GIT. > Although I get a variety of answers at first, when I probe deeper, the > answer always seems to be "because everyone else is using it!" But doesn't that apply to everything else? People are social beings. Well, except those like me, because I'm asocial. Isn't that ironic that I'm using Git like everyone else? But it suits my needs well. I think that's economy of scale at work. Distributed store gives you an advantage when you checkout often, because you save on network round-trip and traffic. It makes you less dependent when you need to work disconnected from network. It is easier to do a network set-up without dedicated server. And it's more scalable because it can distribute resources between many network nodes. You can save on coordination with maintainers when you are preparing a just one-time code contribution. Also it's more resistant to threats and harder to shut down. And some old repositories which already disappeared from internet can preserved locally, that's a free backup system too. OTOH, It's a shared interface which can be embedded into different applications, look what sqlite did with databases. And yes, of course, you get free access to and hosting for millions of projects on GitHub and Gitlab. > So, my conclusion is the following. If you work for others and want to > maximize your opportunities, it's best to use GIT because that's what > they're hiring for. However, if you own your own business and need a > practical solution that does the job with minimum expense and hassle, you > use subversion. Unfortunately that won't work in practice because Git is now essentially everywhere. Are you using Go-lang? Then it's inside it' package system. Are you using some IDE or text editor? Than it keeps your files versioned locally. Everyone is trying to integrate with GitHub, etc. It's just more flexible. Well, you might use it without even knowing if that sounds comforting. >> I could have used git --depth but this wouldn't buy me anything. Also, I take that back. It did buy me less used space: 4 MB vs. 28 MB in SVN workspace. And I can continue to build up my local mirror from that point which I can't do with SVN anymore due to it' huge size. I think that you are losing some opportunities if you ignore Git, but that's your choice, of course.