3 ms·
Choose the right tool for the job. Git is the right tool for: branching and merging. And for cherry picking bug fixes from disparate branches. The git workfl
by GoldenMonkey 13y ago
Choose the right tool for the job.
Git is the right tool for: branching and merging. And for cherry picking bug fixes from disparate branches.
The git workflow revolves around creating a branch for a feature or bug fix. Because in Git, branching and merging is cheap.
I've switched from a decade of using SVN, to Git and it is more than a shiny new tool. It is the right kind of tool for the above.
In SVN, branching and merging is expensive, and if the changes between branches were extensive enough.. the merge process would take a good weekend of manual effort. In some scenarios almost impossible to do. And in some shops I worked at, a branch with 3 months of differences would take a week to merge. SVN is not the right tool for this.
- T-hawk 13y agoBy contrast, my job is a much better usage case for SVN. We have only three developers, a single trunk, and rolling production deployments. We're never concerned about release or feature branches or back-porting fixes. SVN is the right tool for this. Git's extra abstraction layer around decentralization and distribution would just get in the way. I have used git in a previous job and for personal projects to get something up on Github, and I haven't yet missed it here in our SVN shop. Git is like applying an N log N solution to an algorithmic problem. Great for something that in the naive case would be N² (N branches exchanging updates with each of N branches), but when the problem space is very small, whatever layer represents the log N is just overhead.
- sampo 13y agoNowadays you use Github with SVN, too, if you like.
- FeloniousHam 13y agoEven as a single developer, I find the effortless branching in git a killer feature. Even with the poor (from a human perspective) implementation of EGit in Eclipse, the ability to experiment in branches while preserving a "last known good" point would be hard to give up. Add to this the effortless sharing and "cost-less" review provided make git a clear winner.