1
00:00:02,120 --> 00:00:04,689
Let's get started with the question,

2
00:00:04,689 --> 00:00:06,140
what version management

3
00:00:06,140 --> 00:00:09,330
or version control actually is.

4
00:00:09,330 --> 00:00:11,459
And if we think about this course so far,

5
00:00:11,459 --> 00:00:15,900
you saw that we worked on several web dev projects.

6
00:00:15,900 --> 00:00:16,830
And because of that,

7
00:00:16,830 --> 00:00:19,810
we also worked on well different code basis

8
00:00:19,810 --> 00:00:20,670
So to say,

9
00:00:20,670 --> 00:00:22,380
and our code evolved.

10
00:00:22,380 --> 00:00:24,840
So basically we could say that we started

11
00:00:24,840 --> 00:00:26,420
with the initial code.

12
00:00:26,420 --> 00:00:30,059
So the first code we saved in an individual project,

13
00:00:30,059 --> 00:00:31,590
and then somehow,

14
00:00:31,590 --> 00:00:32,423
well,

15
00:00:32,423 --> 00:00:35,708
we arrived at the latest code version at the final code,

16
00:00:35,708 --> 00:00:37,443
whatever you might want to call it,

17
00:00:37,443 --> 00:00:39,640
let's call it the code we had

18
00:00:39,640 --> 00:00:42,259
at the end of a specific module.

19
00:00:42,259 --> 00:00:43,092
Now,

20
00:00:43,092 --> 00:00:45,833
as you also saw to arrive at this latest code version,

21
00:00:45,833 --> 00:00:50,133
different well code iterations were necessary.

22
00:00:50,133 --> 00:00:54,073
Different stages of that code were required.

23
00:00:55,040 --> 00:00:55,873
In this course,

24
00:00:55,873 --> 00:00:59,570
You can also find different code snapshots of different

25
00:00:59,570 --> 00:01:01,883
stages of these individual projects

26
00:01:01,883 --> 00:01:04,190
to make sure you can download these.

27
00:01:04,190 --> 00:01:06,404
And we'll jump back on board in case

28
00:01:06,404 --> 00:01:07,980
we lost you throughout the

29
00:01:07,980 --> 00:01:10,590
module with our code in case you had a bug

30
00:01:10,590 --> 00:01:12,000
and so on.

31
00:01:12,000 --> 00:01:12,833
Now,

32
00:01:12,833 --> 00:01:13,990
the thing is that we are not

33
00:01:13,990 --> 00:01:15,620
well kind of creating these

34
00:01:15,620 --> 00:01:18,640
different code snapshots by saving the code,

35
00:01:18,640 --> 00:01:20,520
creating a new folder,

36
00:01:20,520 --> 00:01:23,930
and then copy pasting this version into this folder

37
00:01:23,930 --> 00:01:25,340
and calling this folder,

38
00:01:25,340 --> 00:01:27,254
whatever stage 1, 2, 3, 4,

39
00:01:27,254 --> 00:01:28,777
or anything like this,

40
00:01:28,777 --> 00:01:32,828
we are actually always working in the same folder

41
00:01:32,828 --> 00:01:33,850
Still,

42
00:01:33,850 --> 00:01:35,830
We are able to track our code

43
00:01:35,830 --> 00:01:38,340
to track the code progress that we make.

44
00:01:38,340 --> 00:01:41,540
And to also share the snapshots with you,

45
00:01:41,540 --> 00:01:43,028
how are we doing this?

46
00:01:43,028 --> 00:01:43,861
Well,

47
00:01:43,861 --> 00:01:45,580
the answer is we do this

48
00:01:45,580 --> 00:01:47,160
with version management

49
00:01:47,160 --> 00:01:48,530
or version control

50
00:01:48,530 --> 00:01:52,420
because this concept is all about efficient control

51
00:01:52,420 --> 00:01:56,718
and tracking of code changes over time.

52
00:01:56,718 --> 00:02:00,760
You'll see that changes here has this little asterisk added.

53
00:02:00,760 --> 00:02:02,870
This is simply due to the fact that

54
00:02:02,870 --> 00:02:05,133
although we have a web dev course here,

55
00:02:05,133 --> 00:02:08,610
the version management tools we'll learn about in the next

56
00:02:08,610 --> 00:02:11,530
lectures cannot only be used for web dev.

57
00:02:11,530 --> 00:02:14,870
You can also use these tools to manage your data analysis,

58
00:02:14,870 --> 00:02:16,129
your data science projects,

59
00:02:16,129 --> 00:02:18,600
or even to manage your Excel files,

60
00:02:18,600 --> 00:02:19,433
for example.

61
00:02:19,433 --> 00:02:21,260
So that's just a side note.

62
00:02:21,260 --> 00:02:22,900
This is a web dev course.

63
00:02:22,900 --> 00:02:27,180
Therefore we want to track our code changes over time.

64
00:02:27,180 --> 00:02:30,530
So this is the idea behind version control.

65
00:02:30,530 --> 00:02:35,039
It's the idea to easily save different stages of your code

66
00:02:35,039 --> 00:02:37,760
without having to create side copies

67
00:02:37,760 --> 00:02:40,573
or without losing any prior progress.

68
00:02:41,620 --> 00:02:42,453
Now by default,

69
00:02:42,453 --> 00:02:43,286
Well,

70
00:02:43,286 --> 00:02:44,520
this is hardly possible.

71
00:02:44,520 --> 00:02:47,200
Therefore, we need specific tools

72
00:02:47,200 --> 00:02:49,910
which help us to efficiently manage our code.

73
00:02:49,910 --> 00:02:51,830
And well guess what,

74
00:02:51,830 --> 00:02:53,630
these two tools are Git

75
00:02:53,630 --> 00:02:54,743
and Git hub,

76
00:02:55,658 --> 00:02:56,803
but what are Git?

77
00:02:56,803 --> 00:02:58,351
This is the Git logo

78
00:02:58,351 --> 00:03:00,900
and top that's the GitHub logo.

79
00:03:00,900 --> 00:03:04,120
What are these tools in detail now?

80
00:03:04,120 --> 00:03:07,550
Well get is actually a local tool,

81
00:03:07,550 --> 00:03:09,231
a free local tool,

82
00:03:09,231 --> 00:03:11,030
which you can download

83
00:03:11,030 --> 00:03:13,160
and install on your computer

84
00:03:13,160 --> 00:03:14,980
on your windows or Mac machine.

85
00:03:14,980 --> 00:03:16,664
Doesn't make a difference.

86
00:03:16,664 --> 00:03:18,540
And this tool then,

87
00:03:18,540 --> 00:03:19,720
once installed

88
00:03:19,720 --> 00:03:22,270
well, helps you to control

89
00:03:22,270 --> 00:03:24,980
the different versions that you have in

90
00:03:24,980 --> 00:03:28,730
your code for your web development projects

91
00:03:28,730 --> 00:03:30,110
and Git does this

92
00:03:30,110 --> 00:03:32,440
by a so-called repositories.

93
00:03:32,440 --> 00:03:35,190
This means a project managed by a Git

94
00:03:35,190 --> 00:03:38,320
automatically has such a repository

95
00:03:38,320 --> 00:03:40,610
we'll of course explore how we can create such

96
00:03:40,610 --> 00:03:42,922
a repository and how these repositories work.

97
00:03:42,922 --> 00:03:45,810
But generally that's Git in a nutshell,

98
00:03:45,810 --> 00:03:46,830
a local tool,

99
00:03:46,830 --> 00:03:48,830
which manages different versions

100
00:03:48,830 --> 00:03:50,910
of your web dev projects in

101
00:03:50,910 --> 00:03:52,320
so-called repositories.

102
00:03:52,320 --> 00:03:53,509
That's it.

103
00:03:53,509 --> 00:03:56,898
Git is a local tool as a set though.

104
00:03:56,898 --> 00:03:58,270
So it's great

105
00:03:58,270 --> 00:04:00,960
If you're working alone on your projects,

106
00:04:00,960 --> 00:04:03,081
at least in a first step,

107
00:04:03,081 --> 00:04:06,190
we also have get have GitHub though.

108
00:04:06,190 --> 00:04:07,270
GitHub, although,

109
00:04:07,270 --> 00:04:08,610
sharing partially,

110
00:04:08,610 --> 00:04:11,240
at least the name is a separate tool,

111
00:04:11,240 --> 00:04:13,840
not related to Git in general.

112
00:04:13,840 --> 00:04:16,350
And GitHub is a cloud hosting

113
00:04:16,350 --> 00:04:19,029
provider for Git repositories.

114
00:04:19,029 --> 00:04:19,863
You see,

115
00:04:19,863 --> 00:04:21,540
there seems to be kind of a connection.

116
00:04:21,540 --> 00:04:23,760
So, whilst Git is a local tool,

117
00:04:23,760 --> 00:04:26,830
GitHub brings the projects

118
00:04:26,830 --> 00:04:29,550
we manage with Git to the cloud.

119
00:04:29,550 --> 00:04:30,383
So therefore,

120
00:04:30,383 --> 00:04:33,230
in addition to the fact that in case our computer gets

121
00:04:33,230 --> 00:04:34,790
stolen or crashes,

122
00:04:34,790 --> 00:04:36,561
we won't lose our code.

123
00:04:36,561 --> 00:04:39,670
GitHub is also perfect to collaborate in

124
00:04:39,670 --> 00:04:43,940
or contribute to web development projects.

125
00:04:43,940 --> 00:04:47,300
This means we can store our project on GitHub

126
00:04:47,300 --> 00:04:50,921
and then add other people to also work on our code

127
00:04:50,921 --> 00:04:54,381
or other people can also share their work

128
00:04:54,381 --> 00:04:56,730
and we can collaborate.

129
00:04:56,730 --> 00:04:57,870
This means, for example,

130
00:04:57,870 --> 00:04:59,940
adding features or fixing bugs

131
00:04:59,940 --> 00:05:00,861
in these projects,

132
00:05:00,861 --> 00:05:03,910
also something we'll explore for all this module.

133
00:05:03,910 --> 00:05:08,050
The important thing is that GitHub is the world's largest

134
00:05:08,050 --> 00:05:08,906
development platform.

135
00:05:08,906 --> 00:05:13,640
Bringing Git's local repositories to the cloud.

136
00:05:13,640 --> 00:05:16,030
And that's exactly where these two tools

137
00:05:16,030 --> 00:05:18,450
are connected in the end.

138
00:05:18,450 --> 00:05:22,354
With Git being a great local tool to manage projects

139
00:05:22,354 --> 00:05:24,216
and GitHub being a great tool

140
00:05:24,216 --> 00:05:27,020
to hosting these projects in the cloud.

141
00:05:27,020 --> 00:05:29,187
Well, these two are the perfect combination

142
00:05:29,187 --> 00:05:32,600
and must know combination if you want to

143
00:05:32,600 --> 00:05:34,110
become a web developer,

144
00:05:34,110 --> 00:05:36,099
which you actually are already,

145
00:05:36,099 --> 00:05:39,860
and or if you want to work as a web developer

146
00:05:39,860 --> 00:05:41,560
for a company.

147
00:05:41,560 --> 00:05:44,009
So this is the core idea behind these two tools,

148
00:05:44,009 --> 00:05:45,740
still a bit abstract,

149
00:05:45,740 --> 00:05:46,680
obviously,

150
00:05:46,680 --> 00:05:48,430
but these are only the first steps.

151
00:05:48,430 --> 00:05:49,263
Of course,

152
00:05:49,263 --> 00:05:51,767
we'll have a close look at these tools very soon

153
00:05:51,767 --> 00:05:54,170
before we do that, though,

154
00:05:54,170 --> 00:05:56,964
we have to have a look at another concept

155
00:05:56,964 --> 00:05:59,973
related to using these two tools.

