It's only been recently that our version control systems have matured to a point where we have the freedom to think about how to collaborate with our colleagues. But we still make mistakes and suffer through bad life decisions. "Bollocks!" you might say.
Well, when was the last time you heard something like this?
- "Version Control, you say? never heard of it"
- "uh, what version am I supposed to be working from?"
- "we don't use branches, they just get in the way"
- "we're going to gate your checkins and review them"
- "don't worry about it, just hit that merge button"
Well, your branching model should be:
- be easy to understand
- let developers do work with minimal friction
- allow you to test old versions of your code
- let you deploy without pain
In this talk, I will walk through some of the mistakes I've seen various teams make, how it hurts them (both immediately and down the track) and strategies to mitigate or avoid the pain. I'll be using Git to demonstrate some scenarios, but much of the concepts should be reusable with other version control systems.
TALK ABOUT 9FEAF9