Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The last line of this answer prompted me to ask this question . I know to know at a conceptual level the difference between Git and GitHub .

share|improve this question
Please do some minimal research of your own before you ask. – Yannis Nov 2 '12 at 7:51
@YannisRizos It might seem basic, but I actually like this question. I've seen many, many people who don't understand the difference between Git and GitHub, especially since there are Git clients named "GitHub". – Stephen Jennings Nov 2 '12 at 7:53
@StephenJennings Some minimal prior research is a requirement for all our questions, regardless of their level. I kinda like it too, but that's irrelevant, I'm speaking as a mod here. – Yannis Nov 2 '12 at 8:05
@YannisRizos point taken . – Geek Nov 2 '12 at 8:08
@Geek An excellent guide on how to ask programming questions: What have you tried? (also if you hover over the up and down vote arrows, you'll see that the main thing we vote for is research - or lack of) – Yannis Nov 2 '12 at 8:11
up vote 13 down vote accepted

Git is the distributed version control system. Git is responsible for keeping track of changes to content (usually source code files), and it provides mechanisms for sharing that content with others.

GitHub is a company that provides Git repository hosting. If your team has a shared repository on GitHub, you could conceivably use GitHub without ever looking at its website. But, the website provides a lot of value on top of the core Git repository.

GitHub also developed graphical Git clients: GitHub for Mac and GitHub for Windows. Each is an application that lets you interact with Git repositories without using the command line.

Concepts from Git: Repositories, branches, remotes, committing, pushing, pulling, merging, rebasing, reverting, and cherry-picking.

Concepts from GitHub: Pull requests, issues, wikis, forking someone else's repository, Gists,

share|improve this answer
"Forking" is kind of native to git proper, even though git calls the operation "clone", not "fork". – tdammers Nov 2 '12 at 9:31
@tdammers That is true. GitHub uses "forking" to mean something slightly more than simply cloning someone else's repository, though, and I wanted to capture that idea. Something like, "cloning a repository with the intention of issuing pull requests back to the root repository." – Stephen Jennings Nov 3 '12 at 4:42

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.