12 Days of Gitmas: What is GitHub?
Tags: beginners, git, github, tutorial
Published: 2019-12-18 06:41:46

*On the fourth day of Gitmas, my mentee asked of me...
__what's this "GitHub" of which I've heard?__
[Git's ready - what then](https://dev.to/sushicodes/12-days-of-gitmas-your-first-git-project-g3m),
[how do I get Git set up](https://dev.to/sushicodes/12-days-of-gitmas-setting-up-git-39i8),
[and could you explain Git, pretty please?](https://dev.to/sushicodes/12-days-of-Gitmas-intro-to-Git-4l26)*

Today's Day 4 of the 12 Days of Gitmas, and today we're introducing you to [GitHub](https://github.com/)!

**What is GitHub?**

[GitHub](https://github.com/) is a web interface for your git repository, on the cloud.  This means that once you create your repository on GitHub, you can go to your repository on the GitHub website, see your code, see all the past versions you've checked in, and share the link with other people so they can see it too.


**Why do you use it?**

When you use Git locally, you can track your own changes, but you're working by yourself.  When you use a platform like GitHub, you can work on a project with other people, and have their changes tracked too.  (Technically there are ways to host your own server and collaborate directly with others, but websites like GitHub make it much easier and do most of the dirty work for you.)

If you're working on a project for a company, or something open source, you'll use something like GitHub in order to all be able to work together, so everyone can make changes to the codebase and have everyone else be able to see and use it.

In addition, platforms like GitHub host your code for you - so if something happens to your computer or you accidentally delete your local version of your repository, you can still go back to the repository on GitHub and download your code again.  In a way, GitHub keeps a remote backup of what you're working on, so long as you have checked your code in (in other words, "saved" your code changes to GitHub).


**What are the alternatives?**

[BitBucket](https://bitbucket.org/), [GitLab](https://about.gitlab.com/), and [Beanstalk](https://beanstalkapp.com/) are a few of the many alternatives to GitHub.  While [GitHub](https://github.com/) is still the most popular, many companies or groups will choose other options due to cost, features, or ethical reasons.

While there are some differences, most of the content in this series can be applied interchangeably to any of the different version control platforms that use Git.


**How do you set GitHub up?**

First things first, if you don't already have one, [sign up for an account](https://github.com/).  It's a good idea to use the same email address you used when you set up `git config` in [Day 2 of this series](https://dev.to/sushicodes/12-days-of-gitmas-setting-up-git-39i8).

Regardless of whether you initialized a local repository or not after [the last post](https://dev.to/sushicodes/12-days-of-gitmas-setting-up-git-39i8), you'll need to create a new repository on GitHub.  If you initialized a repository locally, then use the same repository name when you create a repository on GitHub, so you can link them up without issue.

![Screenshot of arrow pointing to the green button you click to create a new repository on github](https://live.staticflickr.com/65535/49236634981_2e64db410f_o.png "Click that button to create your repos!")

If you do not have a local repository yet, then call your new project whatever you'd like.  You can also check the `Initialize this repository with a README` box - this will ensure that your project will start out with a file inside it.  (You should NOT do this if you plan to link up your new GitHub repository with an existing repository already on your computer.)

![Screenshot of page to set options for your new repository](https://live.staticflickr.com/65535/49236634986_a1c0e1fdb0_o.png)

Now you have a repository on GitHub!  But how do you link up your GitHub repository to the one on your computer?  And what the heck is SSH?  We'll go into all this and more on Day 5 of the 12 Days of Gitmas!

If you have any questions about Git or requests for other topics you'd like to see me blog about, please leave a comment!  And if you're enjoying this series, consider supporting me on [Patreon](https://www.patreon.com/sushiday), following me on [Twitter](https://twitter.com/sushiday) or checking out my [Twitch](https://www.twitch.tv/sushicodes) [streams](https://www.twitch.tv/sushiday)!