Transcript from the "GitHub vs. Git" Lesson
>> Nina Zakharenko: We're going to talk about forks and remote repositories. Distributed version control, before Git, older systems, SVN, CVS had one central repository, one master server, everyone would push to it and pull from it, it doesn't work that way.
>> Nina Zakharenko: And it's important to talk about those, because we've been talking a lot about the tool.
[00:00:26] But we haven't really talked about what Git enables us to do. By doing away with that central repository, for example, if you were working on SVN, and the central repository was down, you couldn't push changes you couldn't check out code, you were stuck. Git doesn't work that way.
>> Nina Zakharenko: And that's mostly because of the efficiencies of how Git stores data. Because of that, because of the compression and these really interesting algorithms, we're able to store the whole Git repository with all of its history on our local machines. We don't need the local network to be able to work on our repository.
[00:01:09] Unless you're code base is just absolutely huge, it's really easy to check out branches, pull down new changes. There is an interesting news story lately about Microsoft. So Microsoft Windows was on one Git repository, but because that code base was so old and so huge they started running into problems.
[00:01:31] So unless you're planning on writing the next Windows, the way Git works now is probably just fine.
>> Nina Zakharenko: So on the left is the centralized model and on the right is the distributed model.
>> Nina Zakharenko: Now, GitHub versus Git. A lot of people seem to get confused about the terminology.
[00:01:52] So far, we've been talking about Git. That is the tool, the workflow, that you can use on your local machine. Git allows more than that. And GitHub is, it's really the key to collaboration amongst developers. You can collaborate with others, you can share your changes, you can pull down changes from other contributors.
[00:02:17] GitHub is a tool that's built on top of Git. It has an easy-to-use interface. You can host your code for free, you can share it with others. It has a really nice interface for collaboration. And it's really the key driver of open source development, since it came out in 2008.
[00:02:34] GitHub completely changed the picture. So features like repository hosting, browsing code, issues, pull requests and forks, those are all GitHub features, not Git. It's important to make that distinction.