3 answers
Asked Viewed 1065 times Translate

Is it important to learn Git and Github for the software industry?

I'm a first year Computer Science major.

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you
100% of 3 Pros
100% of 1 Students

3 answers

Updated Translate

Frank’s Answer

Great answers above, so I'll keep mine short: Yes and Yes!

100% of 1 Students
Updated Translate

Anthony’s Answer

Great question!

The short answer is that you'd be putting yourself at a disadvantage for participating in some of the most exciting collaborative software projects out there if you did not at least attempt to familiarize yourself with Git and GitHub. (My last project as Tech Lead for an IBM Watson AI prototyping group was managed via them.) Google and Amazon also have projects there, to name two other heavyweights.

In an era of more online social engagement than ever before (Facebook, LinkedIn, etc), Git and GitHub are at the very heart of the social coding experience, with widely-dispersed, often globally-staffed teams able to collaborate well using them. You should know your way around them - they are becoming ever-more popular.

I would, however, start by learning Subversion revision control if you haven't done so already, and then learning Git, as it is an "answer" to the way past revision control systems like Subversion have done business. None other than Linus Torvalds (creator of Linux) created Git as a response to the existing version control systems of the time. It has its pros and cons like anything else. People tend to have strong opinions one way or the other, but technically speaking, Git isn't "better" than Subversion - it's another approach, one which has really caught on in a globally-connected world.

Git's decentralization of codebases is the key to understanding the difference. Once you realize the implications (and the power) of all of that, you can appreciate why learning these tools would be a good idea. With power often comes increased complexity, and this is indeed the case regarding Git. But many would tell you that it is time and effort well spent, myself among them. (I had never used Git and GitHub until my last contract with IBM).

I will not attempt to recreate the excellent elaboration on the question of "SVN vs. Git" given on stackoverflow by Michael Stum HERE (currently upvoted over 500 times).

As far as desktop clients for Git are concerned, there are way better ones out there than what GitHub offers, which isn't designed to expose all or even most Git functionality. My favorite for the Mac, and the one I used at IBM, is Tower. I hardly ever had to go to the command line when using Tower, though some folks use nothing but the CLI. I'd start on the CLI for the basics, however, and then move to the GUI. Just be aware that you WILL have to appeal to the CLI eventually if you get into a sticky situation - even the best of Git clients don't expose the full power of Git the way the CLI can.

Hope that helps!

-Tony Bufort

100% of 1 Pros
Updated Translate

Adriana’s Answer

Yes, it is important. However, keep in mind that this is currently the popular tool/repository to know. So when learning and using git keep in mind two things:
1.) Learn the fundamental concepts of code control: repositories, branching, versioning, merging, etc
2.) Learn to navigate and reuse others code.

When the next tool for code management comes around you will be able to reuse these concepts and skills. A new tool will be easier to learn.