We Don't Know Git
Something I’ve been thinking this week is that I really wish my school had a required course that did a deep dive on git for a week or two. So many of the junior and senior level courses have group projects, but nobody, myself included, is really sure of how to use git effectively as a team tool. Even at this level there’s a lot of students for whom git is just a “commit all and push” thing to backup their work at the end of the day. I like to think I have slightly more git experience than many at my level and there’s still lots of things I’m not familiar with and feel the need to learn, like:
- What exactly does a rebase do and what are the use cases for it? When do I not want to rebase?
- What are some typical branching best practices?
- Are there common git pitfalls? How can I recover from them?
- What are some typical professional git workflows?
I’d want a git course to cover these and some other basics, like:
- Git =/= GitHub
- Useful commit messages (what and why)
- Logical commit groupings
Luckily since git is such a widely used tool, there’s endless tutorials and guides out there to learn from. A good interactive one I found while writing this is Learn Git Branching, which actually helped answer a lot of the questions I had about rebasing.
Of course, taking a little time to thoroughly teach git would still make sure that everyone is on the same page when it comes time to work on group projects, and then that experience would become more valuable when getting into the job field.