Um dos recursos úteis que você também tem é o rebase. Você mantém filiais antes de serem amadurecidas. Então, a ramificação principal continua evoluindo e as ramificações devem ser atualizadas. Vamos dizer, por exemplo, que você mescle branch1 no master e então faça o checkout (existente) do branch2; você iria querer branch2 também contém a versão mais recente do mestre que contém branch1. É o que git rebase
faz. Assim, o fluxo de trabalho será algo assim:
git checkout feature_x
//update base code
git rebase master
//make changes to files
git add .
//...