From your first commit to confident pull requests. Version control, branching, merge conflicts, and GitHub collaboration