loading...
Cover image for Why you should learn Git πŸ“Œ

Why you should learn Git πŸ“Œ

imichaelowolabi profile image Michael Owolabi Updated on ・4 min read

This article is about why I think everyone (Software Developers) should learn Git but before we delve into this proper, I want us to explore briefly what Git is.

Fun Fact 😊

Git was developed in 2005 by Linus Torvalds majorly for the development of the Linux kernel after a fallout between the Linus team and the Bitkeeper proprietary DVCS solution provider. More about that here

What is Git❓

Git is an open-source distributed version control system used for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows. wiki

If you examine the definition above well, you’ll notice that Git is all about collaboration (coordinating work among programmers), integrity (tracking changes), etc. In Git, if it’s ever commited it will be tracked.

 "If it’s ever comitted it will be tracked"

Alt Text
Source

Now that we have refreshed our memory of what Git is, let us talk about why you should learn it ASAP.

Why Git❓

As software developers, whether you are hoping to build the next thing that will change the course of history or you just want to know enough to make ends meet, chances are you will not do this alone which means you need others to actualize that dream. If you fall anywhere within this wide spectrum then you need to learn git as soon as possible.

Git is the most popular distributed version control system

Since my career in software development, I have never seen a job requirement that required any other form of DVCS than Git. As a matter of fact, more often than not you will not see Git as a requirement for most job descriptions because it is mostly assumed that as a Software Developer, you should already know and be using Git.

"Git is the most popular DVCS"

You will work with others πŸ‘₯

Another reason you should learn git and learn it now is that you will most likely have to work with others either as part of a team in your job or just to collaborate with others in developing various software products. When it comes to collaborating among software development teams in tracking source code changes, nothing does it better and as smoothly as Git.

"...nothing does it better and as smoothly as Git."

Git is not as hard as you think πŸ’ͺ🏾

For many people, the reason they defer learning Git until much later is because of the impression that Git is a hard concept and that they need to memorize a whole bunch of various git commands to get going. This is not true❗️
The Git commands you will most frequently use are just very few and once you start using them, you’ll see that it’s just a breeze πŸ‘ŒπŸΎ.

Remote is becoming the norm πŸ‘©πŸ½β€πŸ’»

Gone are the days when software development teams are constrained by physical proximity when all the members must be co-located in the same location to get work done. Remote work has been around for a while but it is getting more and more popular by the day. The current reality of the Covid-19 Pandemic has also massively accelerated the adoption of the remote culture and if you’re going to thrive as a software developer working remotely, you need to have a good command of basic Git.

The above are a few of the reasons you should learn Git and learn it NOW.

Want to begin your Git adventure already? below are some great resources that can help you quickly get started:

https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners

https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F

https://try.github.io/

https://www.freecodecamp.org/news/what-is-git-and-how-to-use-it-c341b049ae61/

https://www.youtube.com/watch?v=SWYqp7iY_Tc

https://www.youtube.com/playlist?list=PL4cUxeGkcC9goXbgTDQ0n_4TBzOO0ocPR

You can also follow @unseenwizzard here on DEV, he's a git guru and has some nice contents on the subject

Let me know what you think in the comment section. If you love this article don't forget to drop a ❀️ and share it within your network. I can also be reached on Twitter via @iMichaelOwolabi

Posted on Jun 5 by:

imichaelowolabi profile

Michael Owolabi

@imichaelowolabi

Experienced software engineer who is result oriented with a passion for developing innovative solutions to business problems. Also passionate about charity and human rights

Discussion

markdown guide
 

The OP gives several reasons for knowing Git.

1: it is the only VCS he has used so the commands are easy and it has the best feature set.

I have used several systems, most having a UI. I will say the best one I have used, albeit expensive, is MKS Source Integrity. It was to easy to see all development parhs, add labels and create checkpoints to get back to the exact fileset at any point in time, alliowed branching individual files.

  1. Employers assume you know how to use it.
    My experience does not support this statement.

  2. You need Git to work remotely and to collaborate.
    I have worked remotely and collaborated using MKS and SVN.

Some of these reasons are reasons to know how to use VCS, but are not exclusive to Git.

Granted, it is popular. Being popular means it is a likely conduit to share information without having to have your own VCS server.

 

Thank you so much John for this invaluable feedback. I agree with you that some of these reasons are not exclusive to Git and other VCS are equally capable of them.

Regarding what I said about employers' assumption of Git knowledge, this is totally based on my experience and by no means a general rule of thumb. So, thank you for sharing your experience in that regard.

I sincerely appreciate you taking the time to read and provide this feedback. It has helped me and I'm sure it is going to help others who come across this article.

 
 
 

I'm learning Git now. And writing an article along side on dev.to so that I don't forget the commands 😜

 

Wow!
That's definitely awesome πŸ‘πŸΌ Surjith