Git Tutorial: A Comprehensive Guide virtion control local version control branching creating anew branching merging fast forward merging