4 ms·
The biggest benefits of Git over predecessors were branching, 3-way merge, and history rewrites (in particular, rebase and squash). As much as Git fans wanted d
by Xirdus 2mo ago
The biggest benefits of Git over predecessors were branching, 3-way merge, and history rewrites (in particular, rebase and squash). As much as Git fans wanted decentralization to be a major selling point, decentralization has never been a major selling point.
- prerok 2mo agoNot exactly decentralization but distribution was the main selling point. In comparison to SVN and other non-DVCs git did not need to continuously talk to the central server for history, "branch" creations, unlocking/locking files before changes, etc. Linus wanted a DVCS, but they wanted centralization and licenses were expensive, so he decided to launch the git initiative where he provided scaffolding and the rest came from contributions.
- Xirdus 2mo agoIt was a selling point. Maybe even intended selling point. But it absolutely isn't the main selling point. Never was, never will. The big thing, the reason people ever started talking about Git outside Linux dev team, has always been branches. It's branches, not distribution, that made every SVN user in the world abandon it in exchange for Git. Saying distribution has been more important than branching is like saying automobiles replaced horses because of smell. Which, admittedly, was a big problem with horses, but come on.
- prerok 2mo agoIt seems our experiences are different. Back then, when working with SVN, we had sites in various countries, with under provisioned VPNs between them. Loading up a single file history could take 15 minutes. I am not joking. Every single operation took ages, so really, any DVCS would have won in that situation, regardless of its approach to branches. If the SVN server would sit in the same building then I guess the branching would have been the main selling point, but it was not the main selling point for us in that situation.
- AlexandrB 2mo agoI think you understate what a big deal the decentralization was when Git came out. Back in the early 2000s, getting internet while out of the office was hard. 3G was in its infancy and expensive so you were at the mercy of finding a WiFi hotspot. Git's predecessors, such as SVN, were unusable without an internet connection to the server. Git (and Mercurial) allowed doing version control without an internet connection for the first time, which is a massive benefit for some types of development or doing work on the road. This aspect of Git definitely became less important as always-on internet connections became ubiquitous, but it's still super helpful sometimes. I can't imagine going back.
- Xirdus 2mo agoI think you understate what a big deal branching was when Git came out. Back in the early 2000s, branching was hard. Git's predecessors, such as SVN, didn't have branching at all until much later, and even then the implementation was riddled with problems and quite often the repo entered state where branches cannot merge back to main (which was called trunk back then). No matter how beneficial the ability to work offline was, branching was still far more important. It's a completely different order of magnitude. Git without offline capabilities would still be a massive success. Git without branching would not.