Special Offer: My C#/.NET Bootcamp Course is out now. Get 10% OFF using the code FRIENDS10.

In this post, I am going to explain how it is like to get started with Git and Github in 2014.

GitHub LogoGitHub Octocat

The entire community seems to be on Github. I sometimes felt like a stranger because I did not own an account on Github. On January 2nd, 2014 I finally created my own Github account.

Github Account

What is Git?

Git is a distributed version control system released in 2005 by Linus Torvalds. For people like me using Subversion on a daily basis, this is just a fancy new tool that improves some weaknesses of Subversion such as supporting offline commits and much more. It is a new generation of source control systems.

If you want to get started with Git, I recommend the use of the try git page from Github: http://try.github.com. They not only tell you how it works but, they also let you type the commands yourself. This, in my view, is really helpful at the beginning.

What is GitHub?

GitHub is basically a web based hosting platform. People use it mainly in software development to share their code, documentation and other artifacts related to producing software. It is well-known in the open source community and hosts millions of projects today.

Creating a GitHub account

I won’t explain how you setup your account as it’s really very simple. Just visit the GitHub website and follow the registration process. I would recommend the choice of a username related to your real name if possible. I was lucky and got my real name.

Getting started with Github

Pretty cool, I have a Github account but what’s next? What can I do with it or even worse, what am I supposed to be now? Do I have to contribute on a daily basis to as many open source projects as I can? What is Github and how do you use it?

First, make sure you fill in your profile. This is important because people may recognize you in future and you should be consistent on all the platforms you use from an SEO and personal brand perspective.

Second, start following interesting projects. Maybe you’re interested in or use a framework or library on a daily basis. Chances are very high that this project is exactly hosted on GitHub. Search for that project and follow it. There is an activity stream that lets you see everything that happens in the projects that you follow. This is helpful in getting the first impression of how active or inactive a certain project is and what they are currently working on.

Third, if you plan to contribute to a specific project, make sure you first read the documentation of the project. There is mostly a README file in the root directory of a project. If you feel comfortable, pick an issue, fix the bug and apply for a pull request.

I haven’t made my first commit up to now. This is mainly because I find it hard to find the right project to start with. I am also not sure how the process works. There are some video tutorials on YouTube like GitHub for Beginners.

Conclusion

It is pretty easy to setup an account and to find widely known projects. But I didn’t make much progress after that. I haven’t contributed because I feel like I don’t know what to do and how to help. Maybe I just haven’t found the right tutorials or it is really hard to understand. But since millions of people use GitHub as they drive their cars, I am pretty sure it’s me.

I have read many articles on technical things like forking etc. but this is not what I am looking for. I am looking for resources about how processes in a typical project work. When do I do action X or action Y?

If you know any further resources to this topic or if you want to guide me to the right direction on how to get started with GitHub, then please fill in the comment field below.

Next steps

  • Find and “star” interesting projects
  • Get involved in a project by forking and contributing
  • Share your experience with the community

Further reading

Claudio Bernasconi

I'm an enthusiastic Software Engineer with a passion for teaching .NET development on YouTube, writing articles about my journey on my blog, and making people smile.