4 ms·
I've been using it for about a year now and it has worked absolute wonders for me. I'm currently building a package manager/deployment tool/automatic updater ar
by skore 13y ago
I've been using it for about a year now and it has worked absolute wonders for me. I'm currently building a package manager/deployment tool/automatic updater around the concept and I'm enjoying the hell out of it. My focus is on applications that a client (typically site developers) installs, so this might be different from other developers here.
The main benefit of Nvies Branching Model is that it reduces anxiety.
Since you keep both fixes and features on separate branches, you minimize the anxiety of "can I do this now?" and "wouldn't this also break that". Instead, you just push and push and merge and worry later. You can work on several bugs for several clients - at the same time. Zero anxiety about fixing one thing for one client that breaks another thing for another client.
The golden rule is simply that you don't merge to master (or, for that matter, to a release-x branch) what isn't well tested to be good on a feature-x or hotfix-x branch.
So using that thing I currently build[0], I can just push-to-deploy whatever I'm working on without being afraid that I break clients who have automatic updates enabled. With this strategy, it's up to the clients: If they subscribe to a development or feature branch, it's understood that things could break. I simply have to be careful what touches master and that's it. (And in most cases, clients only subscribe to other branches in a support context, anyways.)
Finally - Yes, there is a certain overhead, but you can use git-flow[1] on the command line to keep that down to a minimum.
[0] http://mangrove.valanx.org http://mangrove.valanx.org [caution: WIP]
[1] https://github.com/nvie/gitflow https://github.com/nvie/gitflow