importance of git branching