1
00:00:00,150 --> 00:00:05,700
All right, so let's start with the obvious question what exactly is GitHub or what does it do?

2
00:00:06,840 --> 00:00:11,640
There's many answers to that question because GitHub over the years has really evolved and added on

3
00:00:11,640 --> 00:00:12,570
a bunch of features.

4
00:00:12,780 --> 00:00:19,200
But the core mechanic, the single thing that GitHub is known for is that it's a hosting platform for

5
00:00:19,200 --> 00:00:20,370
git repositories.

6
00:00:20,910 --> 00:00:23,970
GitHub allows us to put our get ripostes in the cloud.

7
00:00:24,510 --> 00:00:29,550
We can access them from anywhere, we can share them with people and we can collaborate with people

8
00:00:29,700 --> 00:00:30,780
on get reposts.

9
00:00:30,930 --> 00:00:37,100
So GitHub as a bunch of features built that have to do with collaboration and discussion about get repos.

10
00:00:37,290 --> 00:00:40,640
So I showed this slide very early on, but I just want to return to it.

11
00:00:41,310 --> 00:00:46,950
There is an important huge difference between getting GitHub get hopefully you're familiar with by now

12
00:00:47,220 --> 00:00:51,930
is a version control system that we run on our machines locally.

13
00:00:52,050 --> 00:00:53,940
We don't need the Internet, we don't need an account.

14
00:00:54,150 --> 00:00:57,420
You could go your entire life working with Git and never using GitHub.

15
00:00:58,080 --> 00:01:00,480
GitHub, on the other hand, is a website.

16
00:01:00,480 --> 00:01:03,030
It's a hosting platform for git repositories.

17
00:01:03,150 --> 00:01:04,710
You need the Internet to access it.

18
00:01:04,950 --> 00:01:06,000
You need an account.

19
00:01:06,810 --> 00:01:13,050
It is completely I don't want to say completely separate from Git because it is a hosting service for

20
00:01:13,080 --> 00:01:17,070
git repos, but git itself is completely independent.

21
00:01:17,370 --> 00:01:24,450
So imagine I'm working on a video game, a mobile game that I'm developing on my machine and I'm using

22
00:01:24,450 --> 00:01:25,080
it to track it.

23
00:01:25,080 --> 00:01:26,150
I have a couple of comments.

24
00:01:26,160 --> 00:01:30,450
Let's say there's like a couple of hundred of those three you're seeing on my machine are just to fit

25
00:01:30,450 --> 00:01:31,140
in the diagram.

26
00:01:31,710 --> 00:01:39,090
And I can make a get up account, make a GitHub repository and push my local code, that repo from my

27
00:01:39,090 --> 00:01:40,530
machine up to GitHub.

28
00:01:41,040 --> 00:01:43,110
And I could do this for a couple of reasons.

29
00:01:43,590 --> 00:01:49,910
One, I just want to back things up so I keep doing my work and I can push those changes up to GitHub.

30
00:01:50,220 --> 00:01:53,760
So now GitHub has a record of my repository.

31
00:01:54,330 --> 00:01:56,130
So maybe there's a house fire.

32
00:01:56,130 --> 00:01:58,260
Horrible tragedy and I get a new laptop.

33
00:01:58,260 --> 00:02:00,750
I lost my old laptop with the repo on it.

34
00:02:01,140 --> 00:02:07,440
Well, fortunately for me, assuming I kept my GitHub up to date, I can go to GitHub and get that code

35
00:02:07,440 --> 00:02:09,570
and pull it down to my machine.

36
00:02:10,350 --> 00:02:14,220
So that's kind of a I won't say rare, but not as common scenario.

37
00:02:14,490 --> 00:02:19,620
What really is great about pushing my code up to GitHub is that I can collaborate.

38
00:02:20,100 --> 00:02:25,710
So maybe I decide I need to bring in, you know, I don't know, another engineer over here on the left

39
00:02:26,340 --> 00:02:29,070
and I don't know what her name is, let's say Zelda.

40
00:02:29,220 --> 00:02:33,810
And then I bring in a graphics artist, pixel artist over here on the right.

41
00:02:33,930 --> 00:02:36,510
His name is Link, so I need their help.

42
00:02:37,290 --> 00:02:42,930
So using GitHub, they can all clone or they can all get access to this repository on their machine

43
00:02:43,470 --> 00:02:48,450
and then they can make contributions, put them up on GitHub and then we can pull them down and get

44
00:02:48,450 --> 00:02:50,580
those latest contributions, those new commits.

45
00:02:50,790 --> 00:02:56,130
And this allows us to collaborate and maybe eventually, if my game's a hit, we're talking about dozens

46
00:02:56,130 --> 00:02:57,660
or hundreds of collaborators.

47
00:02:57,930 --> 00:02:59,850
So this is really where GitHub shines.

48
00:03:00,360 --> 00:03:05,970
It's important to know that GitHub is not the only option for some of these features, specifically

49
00:03:05,970 --> 00:03:07,620
for hosting repositories.

50
00:03:07,890 --> 00:03:10,860
There are other options like get lab BitBucket.

51
00:03:11,220 --> 00:03:16,500
But the truth is that in recent years, GitHub has just completely obliterated the competition.

52
00:03:16,800 --> 00:03:23,760
It's now become the world's largest host of source code in early 2020, they reported, have it having

53
00:03:23,760 --> 00:03:25,140
over forty million users.

54
00:03:25,560 --> 00:03:32,910
These days it looks like over 56 million in twenty twenty one just from their own marketing page, which

55
00:03:32,910 --> 00:03:35,700
will come back to really lovely marketing page.

56
00:03:36,000 --> 00:03:40,680
And the last slide here on GitHub that's very important is that it's free for our purposes.

57
00:03:41,040 --> 00:03:47,910
So unlike a lot of subscription platforms or websites where the free tier is just garbage or it's just

58
00:03:47,910 --> 00:03:51,150
supposed to like lure you in to paying more, right.

59
00:03:51,150 --> 00:03:53,970
Where maybe you have a very limited set of features.

60
00:03:53,970 --> 00:03:57,360
And if you pay ten bucks a month, then you can actually use this in a useful way.

61
00:03:57,720 --> 00:03:59,190
That is not GitHub model.

62
00:03:59,550 --> 00:04:06,330
GitHub offers paid tiers, but they're largely oriented towards enterprise, towards companies, for

63
00:04:06,330 --> 00:04:11,730
individuals, for developers, the free tier gives you pretty much everything you would need unless

64
00:04:11,730 --> 00:04:17,370
you are creating some incredibly popular tool, an open source project that's like used by millions

65
00:04:17,370 --> 00:04:17,850
of people.

66
00:04:18,030 --> 00:04:23,550
In all likelihood, you'll never need to subscribe to GitHub so I can show you the different pricing

67
00:04:23,550 --> 00:04:24,240
tiers here.

68
00:04:24,450 --> 00:04:24,770
Right.

69
00:04:24,780 --> 00:04:25,500
Here's free.

70
00:04:25,800 --> 00:04:27,690
There is a team, there's enterprise level.

71
00:04:28,200 --> 00:04:35,160
But with this free level, we have unlimited public and private repositories, unlimited collaborators.

72
00:04:35,940 --> 00:04:38,310
There's these things called GitHub actions we'll talk more about.

73
00:04:38,340 --> 00:04:39,870
So there are some distinctions there.

74
00:04:40,020 --> 00:04:42,870
You pay for more actions or more minutes a month.

75
00:04:43,590 --> 00:04:45,360
And then there are some security features.

76
00:04:45,360 --> 00:04:50,670
Larger enterprise companies might want single sign on advanced auditing, but we really don't need to

77
00:04:50,670 --> 00:04:51,360
worry about that.

78
00:04:51,690 --> 00:04:54,330
We're focused on just the core mechanics of GitHub.

79
00:04:54,330 --> 00:04:57,450
It's all here for us, which we are very, very thankful for.

80
00:04:57,660 --> 00:04:59,760
Somewhat rare in the world of subscription.

81
00:05:00,360 --> 00:05:04,560
So I'll end off by just scrolling through their beautiful marketing page.

82
00:05:04,800 --> 00:05:06,570
I really love the illustrations they have.

83
00:05:07,170 --> 00:05:10,710
You can see, you know, some stats about how many people are using it.

84
00:05:10,830 --> 00:05:13,050
Seventy two percent of Fortune 50 companies.

85
00:05:13,060 --> 00:05:19,200
It's really grown both in market share for open source development and random developers like me, but

86
00:05:19,200 --> 00:05:20,920
also in large companies.

87
00:05:21,420 --> 00:05:23,070
So tons of big companies use it.

88
00:05:23,850 --> 00:05:25,350
I'd say it all boils down to this.

89
00:05:25,370 --> 00:05:27,780
Give your code a home in the cloud.

90
00:05:28,080 --> 00:05:32,850
But there are many other features, almost acts as a social network.

91
00:05:32,850 --> 00:05:36,000
Forget reposts or you can chat, right?

92
00:05:36,000 --> 00:05:38,130
Comments approve disapprove.

93
00:05:38,280 --> 00:05:43,800
Suggest changes to projects, merge code in reject code.

94
00:05:44,010 --> 00:05:46,320
Call attention to certain lines of code.

95
00:05:46,650 --> 00:05:51,570
Then there are some other things that don't necessarily have to do with get reposts but are kind of

96
00:05:51,570 --> 00:05:54,660
adjacent like these interactive developer environments.

97
00:05:54,900 --> 00:05:55,890
I think what do they call it?

98
00:05:55,890 --> 00:05:56,720
Code spaces.

99
00:05:56,730 --> 00:06:03,510
That's new GitHub actions will come back to later on additional features like automatically scanning

100
00:06:03,510 --> 00:06:09,840
your repositories and looking for common vulnerabilities and letting you know ahead of time and a whole

101
00:06:09,840 --> 00:06:10,660
bunch of other things.

102
00:06:10,800 --> 00:06:12,690
So let's end with that.

103
00:06:12,820 --> 00:06:14,010
What a beautiful illustration.

104
00:06:14,580 --> 00:06:16,080
OK, so that's it.

105
00:06:16,230 --> 00:06:17,160
GitHub does a lot.

106
00:06:17,160 --> 00:06:22,890
But for us, what we care about is the fact that it will host our repositories and help facilitate collaboration.
