Gitflow is the usual branching strategy. It’s not dialed up to 11, it only specifies precisely what to merge to where and from where.
The real mavericky thing is when someone uses cherrypicking in combination with squash merges thus breaking branch compatibility.
I have been the git specialist in the last few teams, and thus I’m the one who has to clean that up every time. Not because it’s hard, but because nobody can be bothered to actually learn git.
Edit: The other thing is to use rebases instead of merges. Yes, they make for a much nicer git history, but they also tend to break everything in the process when the rebase is sufficiently large.
Gitflow is the usual branching strategy. It’s not dialed up to 11, it only specifies precisely what to merge to where and from where.
The real mavericky thing is when someone uses cherrypicking in combination with squash merges thus breaking branch compatibility.
I have been the git specialist in the last few teams, and thus I’m the one who has to clean that up every time. Not because it’s hard, but because nobody can be bothered to actually learn git.
Edit: The other thing is to use rebases instead of merges. Yes, they make for a much nicer git history, but they also tend to break everything in the process when the rebase is sufficiently large.