Programming Lessons From a Blank File: Git Basics and Collaborative Workflows for Solo and Team Projects