--- _db_id: 587 content_type: topic ready: true title: Basic introduction to Github --- Git and Github are friggin wonderful. Trust me on this. During your time on this learning journey you'll be using these friggin wonderful tools a lot. Unfortunately though, for people who are just getting started they can also be friggin weird. Please go through this content and do your best to understand all the things. - https://guides.github.com/activities/hello-world/ - https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request ## Github versus Git One thing to know is that Git and Github are not the same thing. Git is a foundational tool, you don't need to use Github if you want to use Git. Github is a web app and a collection of tools that make use of Git. Github has a few competitors. For example [GitLab](https://gitlab.com/) and [BitBucket](https://bitbucket.org/) are both quite awesome. You can even host your own github alternative on your own server one day, [Gogs](https://gogs.io/) is an example of that. ## IMPORTANT: Course expectations During your course here with us, you'll be expected to use github like a professional developer. Professional developers use the "command line". The documentation we gave you here should help you get to grips with the basics of what git and github are about. But we don't really do things that way. You'll learn more about how to use the command line in this project: {{% contentlink path="projects/git-exercises" %}}. We'll cover that later, but if you feel like doing that now, go wild :) Generally you'll be expected to use the command line for anything to do with: - downloading code - uploading code - branching - committing - some merging And then you'll use the github user interface for - creating pull requests - reviewing pull requests - merging good pull requests