Martin Fowler
Branching is about managing the interplay of isolation and integration. Having everyone work on a single shared codebase all the time, doesn’t work because I can’t compile the program if you’re in the middle of typing a variable name. So at least to some degree, we need a notion of a private workspace that I can work on for a while. Modern source code controls tools make it easy to branch and monitor changes to those branches. At some point however we need to integrate. Thinking about branching strategies is really all about deciding how and when we integrate.
Mainline Integration
Developers integrate their work by pulling from mainline, merging, and – if healthy – pushing back into mainline
A mainline gives a clear definition of what the current state of the teams’ software looks like. One of the biggest benefits of using a mainline is that it simplifies integration. Without
To read the full article click on the 'post' link at the top.