How to Get Better with Git
Git is a version control tool that any developer would benefit from learning. Using git allows you to save your code as you make changes, and you can see what changes have been made over time. When working with other developers, knowing git makes it easy to collaborate on projects. This includes open-source and side projects as well as when you are working on a dev team.
Over the years, I've had practice using Git. I feel pretty good with the basics such as setting up new projects on GitHub, creating branches, resolving conflicts, and contributing to open source or other team projects. I tend to stick to the git commands most familiar to me without trying new concepts, so I'm ready to step things up.
What's your git level?
Knowing your git level of knowledge is the first step to improve your skills. Samuel Faure wrote How to Learn Git Slowly where he outlines six levels of knowledge. Refer to Samuel's guide as it can serve as a roadmap for your git level-up strategy.
Here are some ideas and free git resources to help you boost your git know-how:
E-books can serve as resources you come back to whenever you want to review a concept or look something up.
- The Pro Git book, written by Scott Chacon and Ben Straub, is a good resource for a variety of git concepts.
- Get step-by-step guidance with the Introduction to Git and Github e-book created by Bobby Iliev.
Git Cheat Sheets
Keep git cheat sheets handy as you work. You might also want to create one of your own.
- This Simple Guide to Git gives you the most common commands you need to get started.
- Check your knowledge by going through these 50 Git Commands You Should Know
Dedicate some time to complete a git course and keep applying your knowledge through the course material or with your side projects. Check out these courses which vary in length depending on how you want to structure your learning.
- The Ultimate Git 5-Day Challenge from Udemy by Brian Gorman is great for those who are new to git and want to get a step-by-step overview of getting setup with git on Github or Bitbucket.
- The Gymnasium has an Introduction to Git and GitHub course by Jeff Ausura that you can complete in about an hour or less.
- If you have a block of hours to spare, check out Git: Become an Expert in Git & GitHub in 4 Hours from Udemy by Jad Khalili to get intensive git training in a short amount of time.
- Version Control with Git through Coursera offered by Atlassian is a 4-week course that takes you through creating a repository, creating branches, merging, workflows, and more.
- If you are new to the open source world, learn How to Contribute to an Open Source project on GitHub with Kent C. Dodds.
- Observe various git commands in action with the Practical Git For Everyday Professional Use course taught by Trevor Miller.
One of the best ways to learn something is to practice it, so give these two resources a try.
- With Git Immersion, you'll complete short challenges on your local computer as you learn basic git commands.
- Learning Git Branching guides you through visuals as you use git commands and create branches.
Pair program with others
If you have a mentor or work with a team of developers, take some time to pair program. Not only will you improve your coding skills, you'll have a chance to see the other developer's techniques with git. To them, their methods might come naturally so they may not think what they are doing is anything special.
Watch developer live streams or tutorials
You typically watch a live coding session for the actual content, but there is also another layer of learning by noticing how the developer works with git and uses various commands and shortcuts.
When you understand git, you find this common ground among many kinds of developers who also use git. Taking the time to practice git and dive deeper into the various levels of knowledge will help you become a better developer and teammate. Being well-versed with git could help you stand out when applying for jobs and well as making you better prepared when being onboarded to a new company or team.
What's your git story? Are you new or a pro with git? Any helpful tips you can share? Send me a message to continue the conversation.