All right, so let's start with the obvious question what exactly is GitHub or what does it do?
There's many answers to that question because GitHub over the years has really evolved and added on
a bunch of features.
But the core mechanic, the single thing that GitHub is known for is that it's a hosting platform for
git repositories.
GitHub allows us to put our get ripostes in the cloud.
We can access them from anywhere, we can share them with people and we can collaborate with people
on get reposts.
So GitHub as a bunch of features built that have to do with collaboration and discussion about get repos.
So I showed this slide very early on, but I just want to return to it.
There is an important huge difference between getting GitHub get hopefully you're familiar with by now
is a version control system that we run on our machines locally.
We don't need the Internet, we don't need an account.
You could go your entire life working with Git and never using GitHub.
GitHub, on the other hand, is a website.
It's a hosting platform for git repositories.
You need the Internet to access it.
You need an account.
It is completely I don't want to say completely separate from Git because it is a hosting service for
git repos, but git itself is completely independent.
So imagine I'm working on a video game, a mobile game that I'm developing on my machine and I'm using
it to track it.
I have a couple of comments.
Let's say there's like a couple of hundred of those three you're seeing on my machine are just to fit
in the diagram.
And I can make a get up account, make a GitHub repository and push my local code, that repo from my
machine up to GitHub.
And I could do this for a couple of reasons.
One, I just want to back things up so I keep doing my work and I can push those changes up to GitHub.
So now GitHub has a record of my repository.
So maybe there's a house fire.
Horrible tragedy and I get a new laptop.
I lost my old laptop with the repo on it.
Well, fortunately for me, assuming I kept my GitHub up to date, I can go to GitHub and get that code
and pull it down to my machine.
So that's kind of a I won't say rare, but not as common scenario.
What really is great about pushing my code up to GitHub is that I can collaborate.
So maybe I decide I need to bring in, you know, I don't know, another engineer over here on the left
and I don't know what her name is, let's say Zelda.
And then I bring in a graphics artist, pixel artist over here on the right.
His name is Link, so I need their help.
So using GitHub, they can all clone or they can all get access to this repository on their machine
and then they can make contributions, put them up on GitHub and then we can pull them down and get
those latest contributions, those new commits.
And this allows us to collaborate and maybe eventually, if my game's a hit, we're talking about dozens
or hundreds of collaborators.
So this is really where GitHub shines.
It's important to know that GitHub is not the only option for some of these features, specifically
for hosting repositories.
There are other options like get lab BitBucket.
But the truth is that in recent years, GitHub has just completely obliterated the competition.
It's now become the world's largest host of source code in early 2020, they reported, have it having
over forty million users.
These days it looks like over 56 million in twenty twenty one just from their own marketing page, which
will come back to really lovely marketing page.
And the last slide here on GitHub that's very important is that it's free for our purposes.
So unlike a lot of subscription platforms or websites where the free tier is just garbage or it's just
supposed to like lure you in to paying more, right.
Where maybe you have a very limited set of features.
And if you pay ten bucks a month, then you can actually use this in a useful way.
That is not GitHub model.
GitHub offers paid tiers, but they're largely oriented towards enterprise, towards companies, for
individuals, for developers, the free tier gives you pretty much everything you would need unless
you are creating some incredibly popular tool, an open source project that's like used by millions
of people.
In all likelihood, you'll never need to subscribe to GitHub so I can show you the different pricing
tiers here.
Right.
Here's free.
There is a team, there's enterprise level.
But with this free level, we have unlimited public and private repositories, unlimited collaborators.
There's these things called GitHub actions we'll talk more about.
So there are some distinctions there.
You pay for more actions or more minutes a month.
And then there are some security features.
Larger enterprise companies might want single sign on advanced auditing, but we really don't need to
worry about that.
We're focused on just the core mechanics of GitHub.
It's all here for us, which we are very, very thankful for.
Somewhat rare in the world of subscription.
So I'll end off by just scrolling through their beautiful marketing page.
I really love the illustrations they have.
You can see, you know, some stats about how many people are using it.
Seventy two percent of Fortune 50 companies.
It's really grown both in market share for open source development and random developers like me, but
also in large companies.
So tons of big companies use it.
I'd say it all boils down to this.
Give your code a home in the cloud.
But there are many other features, almost acts as a social network.
Forget reposts or you can chat, right?
Comments approve disapprove.
Suggest changes to projects, merge code in reject code.
Call attention to certain lines of code.
Then there are some other things that don't necessarily have to do with get reposts but are kind of
adjacent like these interactive developer environments.
I think what do they call it?
Code spaces.
That's new GitHub actions will come back to later on additional features like automatically scanning
your repositories and looking for common vulnerabilities and letting you know ahead of time and a whole
bunch of other things.
So let's end with that.
What a beautiful illustration.
OK, so that's it.
GitHub does a lot.
But for us, what we care about is the fact that it will host our repositories and help facilitate collaboration.