git flow

When googling “git branch model”, this is the first entry. It is very close to what we do at iwoca. In pydsl I don’t use a development branch; I just use master and feature branches, merging them whenever they are ready.

The more I use git, the more I realize how cheap is to branch and remerge, and how easy is to have all the branches living in the same repository at the same time. Subversion and CVS got the versioning right, but made branching complicated.

Diff to the common ancestor (like gitlab, github and bitbucket)

      git diff master... < common ancestor

Merge but always resolve towards the branch merging in

      git merge  --strategy-option theirs master

Make an interactive rebase without tripping with the merges into the branch

git rebase -pi or git rebase -ri