﻿1
00:00:01,090 --> 00:00:03,220
‫Jonas: Kommen wir nun

2
00:00:03,220 --> 00:00:06,120
‫ganz schnell zu den absoluten Grundlagen von

3
00:00:06,120 --> 00:00:10,140
‫Git, und dies ist keineswegs ein vollständiger Überblick über Git.

4
00:00:10,140 --> 00:00:12,410
‫Alles, was ich hier tun möchte,

5
00:00:12,410 --> 00:00:14,730
‫ist, Sie so schnell wie möglich mit Git

6
00:00:14,730 --> 00:00:18,297
‫zu beginnen, damit wir unser Projekt dann auf Heroku bereitstellen können.

7
00:00:19,760 --> 00:00:21,790
‫Und wie ich im letzten Video

8
00:00:21,790 --> 00:00:25,460
‫erwähnt habe, werde ich jetzt Git in der Befehlszeile verwenden, in Ordnung?

9
00:00:25,460 --> 00:00:27,100
‫Und tatsächlich verwende ich

10
00:00:27,100 --> 00:00:29,290
‫das Terminal hier in VS Code wieder.

11
00:00:29,290 --> 00:00:33,320
‫Lassen Sie uns jetzt den aktuellen Prozess hier beenden, okay?

12
00:00:33,320 --> 00:00:35,770
‫Und jetzt erstellen Sie hier in

13
00:00:35,770 --> 00:00:37,950
‫unserem lokalen Projektordner ein

14
00:00:37,950 --> 00:00:42,750
‫neues Repository, und das tun wir, indem wir git init schreiben, okay?

15
00:00:42,750 --> 00:00:45,640
‫Drücken Sie die Eingabetaste und das war's.

16
00:00:45,640 --> 00:00:48,650
‫Wir haben also einfach ein leeres Git-Repository initialisiert, oder wir

17
00:00:48,650 --> 00:00:50,990
‫können es auch nur ein Repository nennen.

18
00:00:50,990 --> 00:00:53,290
‫Das ist also etwas einfacher zu sagen.

19
00:00:53,290 --> 00:00:56,470
‫Um ein neues Repository oder Repository für

20
00:00:56,470 --> 00:00:58,530
‫Ihr Projekt zu erstellen,

21
00:00:58,530 --> 00:01:01,080
‫müssen Sie also wieder zu diesem

22
00:01:01,080 --> 00:01:04,790
‫Projektordner navigieren, was hier in VS Code automatisch geschieht.

23
00:01:04,790 --> 00:01:07,837
‫Wir sind also automatisch genau hier

24
00:01:07,837 --> 00:01:10,970
‫im Home-Ordner und dann schreibst du dort git

25
00:01:10,970 --> 00:01:14,350
‫init, und damit wird dann dieses neue Repository hochgefahren.

26
00:01:14,350 --> 00:01:16,170
‫Und hier in meiner Befehlszeile können

27
00:01:16,170 --> 00:01:19,480
‫Sie jetzt tatsächlich diesen gelben Teil der Eingabeaufforderung sehen, und wahrscheinlich

28
00:01:19,480 --> 00:01:22,330
‫haben Sie das auf Ihrem Terminal nicht, und es

29
00:01:22,330 --> 00:01:23,670
‫spielt keine Rolle.

30
00:01:23,670 --> 00:01:26,290
‫Das heißt hier also nur, dass

31
00:01:26,290 --> 00:01:31,100
‫wir im Moment ein Repository mit einem Zweig namens master haben, okay?

32
00:01:31,100 --> 00:01:34,950
‫Und etwas mehr über den Master-Zweig später.

33
00:01:34,950 --> 00:01:37,600
‫Wie auch immer, bevor wir jetzt etwas anderes

34
00:01:37,600 --> 00:01:40,770
‫tun, erstellen wir eine spezielle Datei namens gitignore und

35
00:01:40,770 --> 00:01:42,863
‫fügen dort alle Dateien hinzu,

36
00:01:42,863 --> 00:01:45,703
‫die wir nicht in unserem Repository haben möchten.

37
00:01:47,630 --> 00:01:50,080
‫Das ist also eine

38
00:01:50,080 --> 00:01:53,423
‫Art Konfigurationsdatei wie diese hübscher oder eslint-Konfigurationen.

39
00:01:54,420 --> 00:01:58,883
‫So kann ich hier eine neue erstellen.

40
00:02:00,990 --> 00:02:01,910
‫Die Ausgabe hier.

41
00:02:01,910 --> 00:02:04,617
‫So . gitignore, so, in Ordnung?

42
00:02:09,370 --> 00:02:11,220
‫Und VS Code

43
00:02:11,220 --> 00:02:13,110
‫hat diese Datei tatsächlich einmal

44
00:02:13,110 --> 00:02:15,700
‫mehr erkannt und dieses nette Symbol hinzugefügt.

45
00:02:15,700 --> 00:02:17,630
‫Und der erste Ordner,

46
00:02:17,630 --> 00:02:20,633
‫den wir eigentlich komplett ignorieren wollen, ist der

47
00:02:21,870 --> 00:02:24,733
‫Ordner node_modules, also schreiben wir node_modules, in Ordnung?

48
00:02:27,720 --> 00:02:30,040
‫Geben Sie ihm eine Sekunde Zeit

49
00:02:30,040 --> 00:02:32,690
‫und möchten Sie dann auch die Konfigurationsdatei ignorieren.

50
00:02:32,690 --> 00:02:34,970
‫Also alle Umgebungsvariablendatei.

51
00:02:34,970 --> 00:02:39,970
‫Und so können wir alle sagen. env-Dateien, okay?

52
00:02:40,260 --> 00:02:43,130
‫Also den Ordner node_modules wollen wir wirklich

53
00:02:43,130 --> 00:02:46,980
‫nicht in unserem Repository haben, weil das einfach nicht nötig ist.

54
00:02:46,980 --> 00:02:49,840
‫Wenn wir also zum Beispiel unser

55
00:02:49,840 --> 00:02:54,050
‫Repository auf GitHub hochladen, möchten wir nicht all diese Zehntausenden

56
00:02:54,050 --> 00:02:57,030
‫von Dateien hochladen, denn sobald wir das

57
00:02:57,030 --> 00:02:59,120
‫Projekt von GitHub woanders

58
00:02:59,120 --> 00:03:02,060
‫heruntergeladen haben, können wir den Ordner node_modules

59
00:03:02,060 --> 00:03:05,770
‫problemlos abrufen zurück, indem Sie npm install schreiben, oder?

60
00:03:05,770 --> 00:03:09,630
‫Denken Sie also daran, dass es bei Git auch um das

61
00:03:09,630 --> 00:03:13,610
‫Teilen geht, nicht nur um das Speichern Ihres Codes mit Snapshots im

62
00:03:13,610 --> 00:03:17,240
‫Laufe der Zeit, sondern auch um diese ganze Zusammenarbeit.

63
00:03:17,240 --> 00:03:19,670
‫Hier in VS Code auf dieser linken

64
00:03:19,670 --> 00:03:22,250
‫Seite haben wir tatsächlich diese Integration mit Git.

65
00:03:22,250 --> 00:03:24,520
‫Wenn Sie also hier klicken,

66
00:03:24,520 --> 00:03:27,720
‫sehen Sie alle Dateien, die als geändert markiert sind.

67
00:03:27,720 --> 00:03:29,810
‫Nun, im Moment sehen wir

68
00:03:29,810 --> 00:03:34,030
‫hier keine, also lasst uns einfach neu laden, aber sie werden immer noch

69
00:03:34,030 --> 00:03:36,250
‫nicht hier angezeigt, und ich denke, das

70
00:03:36,250 --> 00:03:38,840
‫liegt daran, dass wir anfangs zu viele Dateien

71
00:03:38,840 --> 00:03:42,540
‫in node_modules hatten und VS Code jetzt etwas verwirrt ist damit.

72
00:03:42,540 --> 00:03:43,910
‫Sehen wir uns unsere Probleme an.

73
00:03:43,910 --> 00:03:47,160
‫Nein, damit hat es nichts zu tun, in Ordnung?

74
00:03:49,680 --> 00:03:52,423
‫Aber das ist sowieso egal, okay?

75
00:03:53,300 --> 00:03:55,940
‫Wichtig ist, dass wir jetzt auch alle

76
00:03:55,940 --> 00:03:59,033
‫diese geänderten Dateien sehen können, indem wir git status schreiben.

77
00:04:01,170 --> 00:04:03,010
‫So, okay?

78
00:04:03,010 --> 00:04:06,550
‫Und hier sind nun alle Dateien und Ordner, die im

79
00:04:06,550 --> 00:04:10,063
‫Grunde noch nicht in unser Repository übernommen wurden.

80
00:04:11,220 --> 00:04:14,320
‫Bei Git dreht sich alles um Commit, und nun lernen

81
00:04:14,320 --> 00:04:17,310
‫wir, wie wir Dateien in das Repository übertragen können,

82
00:04:17,310 --> 00:04:19,590
‫und das ist ein zweistufiger Prozess.

83
00:04:19,590 --> 00:04:23,550
‫Zuerst müssen wir die Dateien zu einem sogenannten Staging-Bereich hinzufügen, und erst

84
00:04:23,550 --> 00:04:26,030
‫wenn sie sich in diesem Bereich befinden,

85
00:04:26,030 --> 00:04:27,700
‫können wir dann alle

86
00:04:27,700 --> 00:04:31,380
‫Dateien, die dort sind, zu einem neuen Commit übertragen, in Ordnung?

87
00:04:31,380 --> 00:04:32,533
‫Also machen wir das.

88
00:04:33,800 --> 00:04:38,680
‫Also git add, und wenn ich dann alle Dateien

89
00:04:38,680 --> 00:04:43,680
‫hinzufügen möchte, kann ich einfach -A schreiben, habe ich recht?

90
00:04:43,910 --> 00:04:45,880
‫Das dauert jetzt ein bisschen,

91
00:04:45,880 --> 00:04:47,890
‫weil es so viele Dateien gibt,

92
00:04:47,890 --> 00:04:50,363
‫und wenn ich jetzt noch einmal git

93
00:04:51,360 --> 00:04:54,543
‫status schreibe, sehen wir, jetzt sind alle tatsächlich grün.

94
00:04:55,980 --> 00:04:59,050
‫Hier können Sie also all die Tonnen dieser

95
00:05:01,050 --> 00:05:04,610
‫Dateien sehen, die jetzt zu unserem Git-Commit hinzugefügt werden, okay?

96
00:05:04,610 --> 00:05:07,600
‫Eigentlich möchte ich diese zwischengespeicherten Dateien nicht in

97
00:05:07,600 --> 00:05:09,150
‫diesem Cache-Ordner haben,

98
00:05:09,150 --> 00:05:11,513
‫also lass uns diesen Ordner schnell loswerden.

99
00:05:14,330 --> 00:05:18,623
‫Okay, also ich hoffe sie sind jetzt tatsächlich auch davon weg.

100
00:05:19,580 --> 00:05:22,850
‫Hoffen wir also, dass sie jetzt auch von hier weg sind.

101
00:05:22,850 --> 00:05:25,340
‫Und löschen, sie sind jetzt gelöscht, also sind sie

102
00:05:25,340 --> 00:05:26,713
‫nicht mehr hier, aber

103
00:05:27,700 --> 00:05:30,143
‫mal sehen, ob alle anderen noch da sind.

104
00:05:31,300 --> 00:05:34,790
‫Okay, Sie sehen, dass diese nicht für das Festschreiben

105
00:05:34,790 --> 00:05:36,350
‫bereitgestellt sind, aber

106
00:05:36,350 --> 00:05:39,570
‫alle anderen Dateien werden jetzt an das Repository übergeben.

107
00:05:39,570 --> 00:05:42,010
‫Für Sie klingt es jetzt wahrscheinlich etwas verwirrend,

108
00:05:42,010 --> 00:05:45,210
‫warum wir diese Dateien zuerst in den Staging-Bereich aufnehmen müssen

109
00:05:45,210 --> 00:05:47,480
‫und erst dann festgeschrieben werden können.

110
00:05:47,480 --> 00:05:50,310
‫Und der schnelle Grund dafür ist, dass

111
00:05:50,310 --> 00:05:53,860
‫Sie möglicherweise verschiedene Dateien für verschiedene Commits hinzufügen möchten, okay?

112
00:05:53,860 --> 00:05:56,470
‫Stellen Sie sich also vor, Sie ändern 10 Dateien,

113
00:05:56,470 --> 00:05:59,200
‫möchten aber nur fünf davon an einen bestimmten Commit übergeben.

114
00:05:59,200 --> 00:06:01,670
‫Und so können Sie das durch Inszenierung tun.

115
00:06:01,670 --> 00:06:05,070
‫Aber wir wollen es hier einfach nur sehr einfach halten und

116
00:06:05,070 --> 00:06:06,830
‫fügen einfach alle Dateien zu

117
00:06:06,830 --> 00:06:09,640
‫diesem Staging-Bereich hinzu und übertragen sie dann alle.

118
00:06:09,640 --> 00:06:11,180
‫Und eigentlich machen wir es noch

119
00:06:11,180 --> 00:06:13,270
‫einmal, denn jetzt habe ich alle diese Dateien gelöscht.

120
00:06:13,270 --> 00:06:18,270
‫Also lasst uns git wieder -A hinzufügen, okay?

121
00:06:19,240 --> 00:06:21,800
‫Und jetzt sind wir bereit,

122
00:06:21,800 --> 00:06:24,603
‫die Dateien zu übertragen, indem wir git

123
00:06:26,680 --> 00:06:29,710
‫commit -m schreiben und dann eine Commit-Nachricht angeben.

124
00:06:29,710 --> 00:06:32,250
‫Und diese Nachricht sollte wirklich beschreiben,

125
00:06:32,250 --> 00:06:34,490
‫welche Änderungen Sie vorgenommen haben.

126
00:06:34,490 --> 00:06:37,920
‫Normalerweise heißt der erste Commit Initial Commit, also lassen Sie uns

127
00:06:37,920 --> 00:06:39,620
‫das auch hier tun.

128
00:06:41,550 --> 00:06:46,480
‫Also Initial Commit, Return drücken, und das war's.

129
00:06:46,480 --> 00:06:48,580
‫Mit diesem Commit haben

130
00:06:48,580 --> 00:06:51,550
‫wir also alle Änderungen im Repository gespeichert,

131
00:06:51,550 --> 00:06:54,610
‫und wieder ist ein Commit wie eine Momentaufnahme

132
00:06:54,610 --> 00:06:58,380
‫des gesamten Codes zu einem bestimmten Zeitpunkt, in Ordnung?

133
00:06:58,380 --> 00:07:02,170
‫Und die Philosophie besteht darin, jedes Mal, wenn Sie wesentliche Änderungen

134
00:07:02,170 --> 00:07:05,633
‫an Ihrer Codebasis vornehmen, einen neuen Commit zu erstellen.

135
00:07:06,481 --> 00:07:10,870
‫Das Commit-Konzept ist also wirklich der zentrale Punkt von Git.

136
00:07:10,870 --> 00:07:14,880
‫Alles dreht sich also ums Begehen, okay?

137
00:07:14,880 --> 00:07:17,893
‫Und jetzt versuchen wir einfach, hier eine Datei zu ändern.

138
00:07:18,900 --> 00:07:20,350
‫So können wir all diese schließen.

139
00:07:20,350 --> 00:07:25,163
‫Lassen Sie uns nun die App öffnen. js hier, in Ordnung?

140
00:07:26,240 --> 00:07:27,563
‫Schließen Sie dies noch etwas.

141
00:07:29,070 --> 00:07:34,070
‫Und hier sagen wir einfach Express-App starten.

142
00:07:35,220 --> 00:07:38,070
‫Speichern Sie es und Sie sehen sofort

143
00:07:38,070 --> 00:07:41,260
‫in VS Code, wie wir diese grüne Linie erhalten.

144
00:07:41,260 --> 00:07:42,540
‫Und das bedeutet,

145
00:07:42,540 --> 00:07:45,810
‫dass an dieser Stelle etwas Neues eingefügt wurde.

146
00:07:45,810 --> 00:07:47,510
‫Sie können es jetzt auch

147
00:07:47,510 --> 00:07:50,500
‫anklicken und im Wesentlichen sehen, wie es vorher aussah,

148
00:07:50,500 --> 00:07:53,730
‫und Sie können auch gleich hier in der Zeit zurückgehen.

149
00:07:53,730 --> 00:07:55,343
‫Machen Sie die Änderung also rückgängig.

150
00:07:56,630 --> 00:07:59,330
‫Und das gleiche, wenn Sie etwas löschen.

151
00:07:59,330 --> 00:08:01,500
‫Lassen Sie uns diese Codezeile einfach löschen.

152
00:08:01,500 --> 00:08:03,900
‫Und hier sehen Sie, dass es

153
00:08:03,900 --> 00:08:06,130
‫vorher im Grunde etwas gab.

154
00:08:06,130 --> 00:08:08,340
‫Sie können also wieder darauf

155
00:08:08,340 --> 00:08:11,740
‫klicken und im Grunde sehen, was vorher war.

156
00:08:11,740 --> 00:08:13,560
‫Sie können in der Zeit

157
00:08:13,560 --> 00:08:16,123
‫zurückgehen, und das tun wir, um sie zurückzubringen.

158
00:08:17,409 --> 00:08:19,583
‫Versuchen wir nun schnell, es hier zu

159
00:08:20,600 --> 00:08:23,870
‫laden, aber aus irgendeinem Grund erscheinen die geänderten Dateien hier nicht.

160
00:08:23,870 --> 00:08:27,960
‫Also idealerweise jetzt App. js wäre hier in dieser

161
00:08:27,960 --> 00:08:32,580
‫Liste, weil das die Datei ist, die ich gerade bearbeitet habe, okay?

162
00:08:32,580 --> 00:08:35,270
‫Aber auch das ist sowieso nicht wirklich wichtig.

163
00:08:35,270 --> 00:08:37,900
‫Es sollte auch hier in diesem

164
00:08:37,900 --> 00:08:42,530
‫Dateibaum mit einer anderen Farbe angezeigt werden, sobald ich es bearbeitet habe, okay?

165
00:08:42,530 --> 00:08:44,623
‫Wenn wir jetzt noch einmal

166
00:08:46,280 --> 00:08:51,280
‫git status sagen, sehen Sie hier modifiziert: app. js, okay?

167
00:08:51,730 --> 00:08:54,160
‫Das ist also die einzige Ausgabe, die wir

168
00:08:54,160 --> 00:08:56,420
‫hier haben, und Sie sehen auch,

169
00:08:56,420 --> 00:08:59,770
‫dass die Änderungen noch nicht für den Commit bereitgestellt sind, okay?

170
00:08:59,770 --> 00:09:02,670
‫Und jetzt fügen wir sie alle noch einmal hinzu.

171
00:09:02,670 --> 00:09:05,810
‫Also git add und dann -A, oder wir

172
00:09:05,810 --> 00:09:09,313
‫könnten auch einfach diese einzelne Datei zum Add hinzufügen.

173
00:09:10,300 --> 00:09:14,440
‫Also App. js, in Ordnung?

174
00:09:14,440 --> 00:09:18,430
‫Versuchen wir es noch einmal mit git status, und jetzt ist es grün.

175
00:09:18,430 --> 00:09:21,940
‫Das bedeutet, dass die Änderungen festgeschrieben werden, sobald

176
00:09:21,940 --> 00:09:24,300
‫wir ein neues Festschreiben durchführen.

177
00:09:24,300 --> 00:09:27,743
‫Also lass uns das tun, git commit -m.

178
00:09:29,820 --> 00:09:34,820
‫Für die Nachricht, Kommentar hinzugefügt, und

179
00:09:36,810 --> 00:09:38,550
‫das war's.

180
00:09:38,550 --> 00:09:41,000
‫Sie sehen also, die Nachricht hat den Kommentar hinzugefügt.

181
00:09:41,000 --> 00:09:43,850
‫Eine Datei hat sich geändert und es wurde einmal eingefügt.

182
00:09:43,850 --> 00:09:45,450
‫Das ist also diese Zeile hier.

183
00:09:45,450 --> 00:09:49,150
‫Und nun ist der grüne Balken, den wir hier hatten, weg,

184
00:09:49,150 --> 00:09:52,600
‫und das bedeutet, dass jetzt alles wieder sauber ist.

185
00:09:52,600 --> 00:09:55,640
‫Jetzt sehen Sie auch, dass dieser Master hier, Sie

186
00:09:55,640 --> 00:09:57,030
‫sehen ihn auch hier,

187
00:09:57,030 --> 00:10:00,040
‫und das bedeutet, dass wir uns im Master-Zweig befinden.

188
00:10:00,040 --> 00:10:04,180
‫Branches sind also ein weiteres sehr wichtiges Konzept in Git, aber darauf

189
00:10:04,180 --> 00:10:07,070
‫werde ich an dieser Stelle nicht näher eingehen.

190
00:10:07,070 --> 00:10:10,750
‫Vorerst werden wir immer nur im Master-Zweig arbeiten.

191
00:10:10,750 --> 00:10:14,140
‫Großartig, jetzt haben Sie also ein lokales Repository, in

192
00:10:14,140 --> 00:10:16,920
‫dem Ihr gesamter Code festgeschrieben ist.

193
00:10:16,920 --> 00:10:19,000
‫Lassen Sie uns diesen Branch

194
00:10:19,000 --> 00:10:22,480
‫im nächsten Video tatsächlich auf einen Remote-Branch auf GitHub verschieben.

195
00:10:22,480 --> 00:10:25,170
‫Hosten Sie es also im Grunde auf dem GitHub-Konto, das

196
00:10:25,170 --> 00:10:26,960
‫wir gerade zuvor erstellt haben.

197
00:10:26,960 --> 00:10:28,560
‫Ich hoffe also, Sie bald dort zu sehen.

