Why Git is the most important tool you should learn (as a software dev)!
I’ve spent five years teaching others in full stack web development. In a coding bootcamp, it can be a bit overwhelming in the beginning… not only do you have to learn these new languages at a fast pace, but you also see a long list of tools to go with them. It doesn’t surprise me anymore when I hear that most of my students have taken a course or two learning web fundamentals, but have never tried to learn Git. Here is my two cents:
“You need to learn Git, just like you need to learn how to code. They go hand in hand”
So What is Git?
Before I tell you why you should learn Git, let’s talk about what it is. You will hear and read that Git is a version control system, but what does that mean? Git helps us save progress of our code, synchronize our code with others, and access earlier versions of our code. It is essential for developing software long term and working in teams. This is similar to when we use Google Drive to store our documents while also being able to share those documents to be edited by other people. There are some more nuances to worry about there, but that’s the gist of it. Imagine if you had created a cool project and you wanted to share it, where would your code go? Certainly not on Google Drive. Git has the unique ability to show others not just the code behind the application, but how it was built, step by step. Once you learn how to use this tool, you’ll be able to create, share, and collaborate in multiple projects like a pro.
So why is this tool important? Why do I need to learn it? Here are some good reasons why:
Free Backup For Your Projects
GitHub, a place to remotely store your git projects, is free to use. You won’t have to worry about storage fees and you can view all your previous changes here. The cool part is that you get to decide what changes will be tracked with each commit, so you get to see a clear progression of your project and earlier versions of your project.
Fix Bugs Quickly
I think each experienced software engineer can tell you a story about when they broke something. This can happen in any part of your career. Mistakes can happen, that’s part of human nature. Fixing bugs is just as common as brewing a cup of coffee in the morning. We are always breaking and fixing things to come to a solution, but nevertheless it can be a bit stressful when you’re a beginner. If you are actively using Git to track your changes, you can quickly go through your most recent commit to track down a bug.
Multiple versions of the same project
This is where Git really shines. Utilizing branches, you can create multiple versions of the same project. When working on a team (and even by yourself), you can work on a new feature (bugs and all) without disrupting the main code for the application. This process allows the multiple features to be developed at once.
Fun Fact: The Git logo is actually a visual representation of branches!
If you want to work on a team someday, you’re going to need it
Contrary to what most people think, it’s very rare for someone to create and maintain an application all on their own. If you want to get hired by a large or small company, you will most likely be working on a team. Since most of us want to utilize our technical skills in some way to get paid, then this will probably include you. Every team is different in their style of project management, communication, and work load, but they will all have a remote Git repo. Gaining access and cloning it will probably be one of the first tasks that you have to do on the job. When applying to a job, you may gain bonus points for being active on your GitHub profile.
Version control isn’t going anywhere
No matter what aspect of software engineering you choose to pursue, version control will always be around to help us collaborate with others as we build our projects. Git is the most popular version control software out there, millions of developers use it every day. You can assume that your future employer will be using Git for their version control too. Once you learn it, you will utilize it throughout your career.
You can easily share your code with others
You may notice that some job applications are asking for links to GitHub profiles. A GitHub link is an easy and effortless way to share the 9code that powers your projects. It’s as simple as copy and paste! By sharing your code with others (whether a potential employer or a fellow dev) you are providing insight on how your project was created and your programming style.
It’s easy to get started and keep it going
It doesn’t take that long to set up your first GitHub repo. You can get set up in 15 minutes, and as you continue to work on your project, it only takes about a minute to update it. You don’t even need to know that many commands to use it efficiently. So take a moment to dip your toes in the water of version control. Create a repo and make some small updates to see how it goes.
If you’re eager to get started, I put together this quick guide that should take you 15 minutes or less. Check it out here!