learning branching, merging and gitting