How to Get Better with Git
Tags: github, programming, git, commandline
Published: 2021-07-24 00:44:25

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](https://dev.to/samuelfaure/how-to-learn-git-slowly-38fa) 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 
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](https://git-scm.com/book/en/v2), written by [Scott Chacon](https://scottchacon.com/) and  [Ben Straub](https://ben.straub.cc/), is a good resource for a variety of git concepts. 

- Get step-by-step guidance with the [Introduction to Git and Github e-book](https://hackernoon.com/step-to-step-ebook-to-learn-the-git-and-github-basics-ag4833pd) created by [Bobby Iliev](https://bobbyiliev.com/).

### 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](http://up1.github.io/git-guide/index.html) gives you the most common commands you need to get started.

- Check your knowledge by going through these [50 Git Commands You Should Know](https://www.freecodecamp.org/news/git-cheat-sheet/)  


### Git Courses
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](https://www.udemy.com/course/the-ultimate-git-5-day-challenge) from Udemy by [Brian Gorman](https://www.udemy.com/user/briangorman/) 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](https://thegymnasium.com/courses/GYM/006/0/about) by [Jeff Ausura ](https://designers.hubspot.com/blog/author/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](https://www.udemy.com/course/git-expert-4-hours/) from Udemy by  [Jad Khalili](https://www.udemy.com/user/jad-khalili/) to get intensive git training in a short amount of time. 

-  [Version Control with Git](https://www.coursera.org/learn/version-control-with-git) through Coursera offered by [ Atlassian](https://www.atlassian.com/) 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](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github) with  [Kent C. Dodds](https://kentcdodds.com/).

- Observe various git commands in action with the [Practical Git For Everyday Professional Use](https://egghead.io/courses/practical-git-for-everyday-professional-use) course taught by  [Trevor Miller](https://github.com/trevordmiller). 

### Interactive Resources
One of the best ways to learn something is to practice it, so give these two resources a try.

- With [Git Immersion](https://gitimmersion.com/index.html), you'll complete short challenges on your local computer as you learn basic git commands. 

-  [Learning Git Branching](https://learngitbranching.js.org/) 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. 

## Conclusion

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?

Photo courtesy of <a href="https://unsplash.com/@heylagostechie?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Lagos Techie</a> on <a href="https://unsplash.com/s/photos/mac-hacker?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>