{ GitHub Introduction. }


By the end of this chapter, you should be able to:

  • Compare and contrast Git and GitHub
  • List use cases for GitHub

What is GitHub?

GitHub is a web-based Git repository hosting service. Simply put, it is a tool that enables collaboration by hosting shared Git repositories that teams of developers can all contribute to. While GitHub uses Git, the functionality it provides is VERY different from Git so make sure you understand that Git and GitHub are not the same thing.

In short, Git is a Version Control System. GitHub is an online platform for hosting and sharing code, text files and even more complex file formats.

Why use GitHub?

Not only does GitHub provide a great way for you to store your code in a remote location (in case something happens to your local machine), it's a fantastic way to collaborate with other developers both privately and publicly. Many large open source projects are hosted on GitHub, which makes it very easy to examine the code both on GitHub and locally. In the next couple of chapters, we will learn how to move code from our local repository to a remote repository on GitHub using the push command, as well as retrieve code from a remote repository on GitHub using the pull command. We'll also learn about GitHub specific concepts like forking and pull requests.

Want to get a sense for how pervasive GitHub is in the development community? Here are some projects you may have heard of that are hosted there:

Getting started with GitHub

If you don't have an account with GitHub yet, head to github.com and create an account - signing up is easy! Be sure to use whatever email address is in your .gitconfig for your email address when you sign up with GitHub. If you'd rather sign up with a different email address, change your .gitconfig accordingly. You'll run into some minor annoyances if there's a mismatch between the email address in your GitHub profile and the email address in your .gitconfig.

When you're ready, move on to Working with Remotes


Creative Commons License