﻿1
00:00:01,090 --> 00:00:03,220
‫Jonas: Esaminiamo ora molto

2
00:00:03,220 --> 00:00:06,120
‫velocemente i fondamenti assolutamente fondamentali di Git,

3
00:00:06,120 --> 00:00:10,140
‫e questa non è affatto una panoramica completa di Git.

4
00:00:10,140 --> 00:00:12,410
‫Tutto quello che voglio fare qui

5
00:00:12,410 --> 00:00:14,730
‫è farti iniziare con Git il più velocemente

6
00:00:14,730 --> 00:00:18,297
‫possibile in modo che possiamo quindi distribuire il nostro progetto su Heroku.

7
00:00:19,760 --> 00:00:21,790
‫E come ho detto nell'ultimo video,

8
00:00:21,790 --> 00:00:25,460
‫inizierò a usare Git nella riga di comando ora, va bene?

9
00:00:25,460 --> 00:00:27,100
‫E in realtà sto usando

10
00:00:27,100 --> 00:00:29,290
‫di nuovo il terminale proprio qui in VS Code.

11
00:00:29,290 --> 00:00:33,320
‫Quindi ora chiudiamo il processo in corso qui, ok?

12
00:00:33,320 --> 00:00:35,770
‫E ora qui nella nostra

13
00:00:35,770 --> 00:00:37,950
‫cartella del progetto locale,

14
00:00:37,950 --> 00:00:42,750
‫creiamo un nuovo repository e lo facciamo scrivendo git init, ok?

15
00:00:42,750 --> 00:00:45,640
‫Premi Invio e il gioco è fatto.

16
00:00:45,640 --> 00:00:48,650
‫Quindi abbiamo appena inizializzato un repository Git vuoto,

17
00:00:48,650 --> 00:00:50,990
‫o possiamo anche chiamarlo solo repository.

18
00:00:50,990 --> 00:00:53,290
‫Quindi è un po' più facile da dire.

19
00:00:53,290 --> 00:00:56,470
‫Quindi, ancora una volta, per creare un nuovo repository,

20
00:00:56,470 --> 00:00:58,530
‫o repository, per il

21
00:00:58,530 --> 00:01:01,080
‫tuo progetto, devi accedere a quella cartella

22
00:01:01,080 --> 00:01:04,790
‫del progetto, che qui in VS Code avviene in modo automatico.

23
00:01:04,790 --> 00:01:07,837
‫Quindi siamo automaticamente proprio qui nella

24
00:01:07,837 --> 00:01:10,970
‫cartella Home e poi lì dentro scrivi git

25
00:01:10,970 --> 00:01:14,350
‫init, e così poi si avvia questo nuovo repository.

26
00:01:14,350 --> 00:01:16,170
‫E qui nella mia riga di

27
00:01:16,170 --> 00:01:19,480
‫comando, puoi effettivamente vedere questa parte gialla ora qui del prompt,

28
00:01:19,480 --> 00:01:22,330
‫e probabilmente sul tuo terminale non lo avrai, e non

29
00:01:22,330 --> 00:01:23,670
‫ha molta importanza.

30
00:01:23,670 --> 00:01:26,290
‫Quindi tutto ciò significa che

31
00:01:26,290 --> 00:01:31,100
‫in questo momento abbiamo un repository con un ramo chiamato master, ok?

32
00:01:31,100 --> 00:01:34,950
‫E un po' di più sul ramo principale più avanti.

33
00:01:34,950 --> 00:01:37,600
‫Ad ogni modo, prima di fare qualsiasi

34
00:01:37,600 --> 00:01:40,770
‫altra cosa, creiamo un file speciale chiamato gitignore, e

35
00:01:40,770 --> 00:01:42,863
‫lì aggiungeremo tutti i

36
00:01:42,863 --> 00:01:45,703
‫file che non vogliamo avere nel nostro repository.

37
00:01:47,630 --> 00:01:50,080
‫Quindi è una specie di file

38
00:01:50,080 --> 00:01:53,423
‫di configurazione proprio come queste configurazioni più carine o essenziali.

39
00:01:54,420 --> 00:01:58,883
‫Quindi posso crearne uno nuovo qui.

40
00:02:00,990 --> 00:02:01,910
‫L'uscita qui.

41
00:02:01,910 --> 00:02:04,617
‫Così . gitignore, così, va bene?

42
00:02:09,370 --> 00:02:11,220
‫E VS Code, in realtà

43
00:02:11,220 --> 00:02:13,110
‫ancora una volta, ha già riconosciuto

44
00:02:13,110 --> 00:02:15,700
‫questo file e vi aggiunge questo simpatico simbolo.

45
00:02:15,700 --> 00:02:17,630
‫E la prima cartella

46
00:02:17,630 --> 00:02:20,633
‫che in realtà vogliamo ignorare completamente è la

47
00:02:21,870 --> 00:02:24,733
‫cartella node_modules, quindi scriviamo node_modules, va bene?

48
00:02:27,720 --> 00:02:30,040
‫Dagli un secondo e poi

49
00:02:30,040 --> 00:02:32,690
‫vuoi anche ignorare il file di configurazione.

50
00:02:32,690 --> 00:02:34,970
‫Quindi tutti i file delle variabili di ambiente.

51
00:02:34,970 --> 00:02:39,970
‫E quindi possiamo dire tutto il . env file, ok?

52
00:02:40,260 --> 00:02:43,130
‫Quindi la cartella node_modules, non vogliamo

53
00:02:43,130 --> 00:02:46,980
‫davvero nel nostro repository perché semplicemente non è necessario.

54
00:02:46,980 --> 00:02:49,840
‫Quindi, ad esempio, se caricheremo il

55
00:02:49,840 --> 00:02:54,050
‫nostro repository su GitHub, non vogliamo caricare tutte queste decine

56
00:02:54,050 --> 00:02:57,030
‫di migliaia di file perché una volta

57
00:02:57,030 --> 00:02:59,120
‫scaricato il progetto da

58
00:02:59,120 --> 00:03:02,060
‫GitHub da qualche altra parte, possiamo facilmente

59
00:03:02,060 --> 00:03:05,770
‫ottenere la cartella node_modules indietro scrivendo npm install, giusto?

60
00:03:05,770 --> 00:03:09,630
‫E quindi tieni presente che Git riguarda anche la

61
00:03:09,630 --> 00:03:13,610
‫condivisione, non solo il salvataggio del codice con le istantanee

62
00:03:13,610 --> 00:03:17,240
‫nel tempo, ma anche tutta questa collaborazione.

63
00:03:17,240 --> 00:03:19,670
‫Ora qui in VS Code su questo

64
00:03:19,670 --> 00:03:22,250
‫lato sinistro, abbiamo effettivamente questa integrazione con Git.

65
00:03:22,250 --> 00:03:24,520
‫Quindi, se fai clic

66
00:03:24,520 --> 00:03:27,720
‫qui, vedrai tutti i file contrassegnati come modificati.

67
00:03:27,720 --> 00:03:29,810
‫Bene, in questo momento

68
00:03:29,810 --> 00:03:34,030
‫non ne vediamo nessuno qui, quindi ricarichiamolo, ma ancora non vengono visualizzati

69
00:03:34,030 --> 00:03:36,250
‫qui, e penso che sia perché

70
00:03:36,250 --> 00:03:38,840
‫inizialmente avevamo troppi file in node_modules, e

71
00:03:38,840 --> 00:03:42,540
‫quindi ora VS Code è un po' confuso con quello.

72
00:03:42,540 --> 00:03:43,910
‫Controlliamo i nostri problemi.

73
00:03:43,910 --> 00:03:47,160
‫No, non ha niente a che fare con quello, va bene?

74
00:03:49,680 --> 00:03:52,423
‫Ma, comunque, non ha molta importanza, ok?

75
00:03:53,300 --> 00:03:55,940
‫Ciò che conta è che ora possiamo

76
00:03:55,940 --> 00:03:59,033
‫effettivamente vedere anche tutti questi file modificati scrivendo git status.

77
00:04:01,170 --> 00:04:03,010
‫Così, ok?

78
00:04:03,010 --> 00:04:06,550
‫E quindi ecco ora tutti i file e le cartelle che

79
00:04:06,550 --> 00:04:10,063
‫sostanzialmente non sono ancora stati inseriti nel nostro repository.

80
00:04:11,220 --> 00:04:14,320
‫Quindi Git è tutto incentrato sul commit, quindi impariamo ora come

81
00:04:14,320 --> 00:04:17,310
‫possiamo eseguire il commit dei file nel repository, ed è

82
00:04:17,310 --> 00:04:19,590
‫una specie di processo in due fasi.

83
00:04:19,590 --> 00:04:23,550
‫Per prima cosa dobbiamo aggiungere i file a una cosiddetta area di

84
00:04:23,550 --> 00:04:26,030
‫staging e solo dopo che si trovano in

85
00:04:26,030 --> 00:04:27,700
‫quest'area, possiamo eseguire il

86
00:04:27,700 --> 00:04:31,380
‫commit di tutti i file presenti in un nuovo commit, ok?

87
00:04:31,380 --> 00:04:32,533
‫Quindi facciamolo.

88
00:04:33,800 --> 00:04:38,680
‫Quindi git add, e quindi se voglio

89
00:04:38,680 --> 00:04:43,680
‫aggiungere tutti i file, posso semplicemente scrivere -A, giusto?

90
00:04:43,910 --> 00:04:45,880
‫Quindi ci vuole un po'

91
00:04:45,880 --> 00:04:47,890
‫di tempo ora perché ci sono così

92
00:04:47,890 --> 00:04:50,363
‫tanti file, e quindi ora se scrivo di

93
00:04:51,360 --> 00:04:54,543
‫nuovo git status, vediamo, ora sono tutti in realtà verdi.

94
00:04:55,980 --> 00:04:59,050
‫Quindi qui puoi vedere tutte le tonnellate di

95
00:05:01,050 --> 00:05:04,610
‫questi file che ora verranno aggiunti al nostro commit git, ok?

96
00:05:04,610 --> 00:05:07,600
‫Ora, in realtà, non voglio questi file memorizzati nella

97
00:05:07,600 --> 00:05:09,150
‫cache in questa cartella

98
00:05:09,150 --> 00:05:11,513
‫cache, quindi liberiamoci rapidamente di questa cartella.

99
00:05:14,330 --> 00:05:18,623
‫Ok, quindi spero che ora se ne siano andati in realtà anche da questo.

100
00:05:19,580 --> 00:05:22,850
‫Quindi speriamo che se ne siano andati anche da qui adesso.

101
00:05:22,850 --> 00:05:25,340
‫Ed elimina, ora sono eliminati, quindi non sono

102
00:05:25,340 --> 00:05:26,713
‫più qui, ma

103
00:05:27,700 --> 00:05:30,143
‫vediamo se tutti gli altri sono ancora qui.

104
00:05:31,300 --> 00:05:34,790
‫Ok, quindi vedi che questi non sono messi in scena

105
00:05:34,790 --> 00:05:36,350
‫per il commit, ma

106
00:05:36,350 --> 00:05:39,570
‫tutti questi altri file verranno ora salvati nel repository.

107
00:05:39,570 --> 00:05:42,010
‫Ora probabilmente ti sembra un po' confuso il

108
00:05:42,010 --> 00:05:45,210
‫motivo per cui dobbiamo prima aggiungere questi file all'area di staging

109
00:05:45,210 --> 00:05:47,480
‫e solo allora possono essere confermati.

110
00:05:47,480 --> 00:05:50,310
‫E la rapida ragione è che

111
00:05:50,310 --> 00:05:53,860
‫potresti voler aggiungere file diversi per commit diversi, ok?

112
00:05:53,860 --> 00:05:56,470
‫Quindi immagina di cambiare 10 file ma

113
00:05:56,470 --> 00:05:59,200
‫di volerne impegnare solo cinque in un determinato commit.

114
00:05:59,200 --> 00:06:01,670
‫E quindi mettendo in scena, puoi farlo.

115
00:06:01,670 --> 00:06:05,070
‫Ma vogliamo solo mantenerlo molto semplice qui, quindi aggiungiamo semplicemente

116
00:06:05,070 --> 00:06:06,830
‫tutti i file a

117
00:06:06,830 --> 00:06:09,640
‫quest'area di staging e poi li commettiamo tutti.

118
00:06:09,640 --> 00:06:11,180
‫E, in effetti, ripetiamolo

119
00:06:11,180 --> 00:06:13,270
‫perché ora ho cancellato tutti questi file.

120
00:06:13,270 --> 00:06:18,270
‫Quindi aggiungiamo di nuovo -A, ok?

121
00:06:19,240 --> 00:06:21,800
‫E quindi ora siamo pronti per

122
00:06:21,800 --> 00:06:24,603
‫eseguire il commit dei file scrivendo git

123
00:06:26,680 --> 00:06:29,710
‫commit -m, quindi specifichiamo un messaggio di commit.

124
00:06:29,710 --> 00:06:32,250
‫E questo messaggio dovrebbe essere davvero descrittivo

125
00:06:32,250 --> 00:06:34,490
‫dei cambiamenti che hai fatto.

126
00:06:34,490 --> 00:06:37,920
‫Ora di solito il primo commit si chiama commit iniziale,

127
00:06:37,920 --> 00:06:39,620
‫quindi facciamolo anche qui.

128
00:06:41,550 --> 00:06:46,480
‫Quindi commit iniziale, premi Invio e il gioco è fatto.

129
00:06:46,480 --> 00:06:48,580
‫Quindi con questo commit abbiamo

130
00:06:48,580 --> 00:06:51,550
‫salvato tutte le modifiche nel repository e, di

131
00:06:51,550 --> 00:06:54,610
‫nuovo, un commit è come un'istantanea di tutto

132
00:06:54,610 --> 00:06:58,380
‫il codice a un certo punto nel tempo, va bene?

133
00:06:58,380 --> 00:07:02,170
‫E una sorta di filosofia è quella di creare un nuovo commit ogni

134
00:07:02,170 --> 00:07:05,633
‫volta che si apportano modifiche significative alla base di codice.

135
00:07:06,481 --> 00:07:10,870
‫Quindi il concetto di commit è davvero il punto centrale di Git.

136
00:07:10,870 --> 00:07:14,880
‫Quindi tutto ruota intorno all'impegno, ok?

137
00:07:14,880 --> 00:07:17,893
‫E ora proviamo a modificare qualche file qui.

138
00:07:18,900 --> 00:07:20,350
‫Quindi possiamo chiudere tutti questi.

139
00:07:20,350 --> 00:07:25,163
‫Ora apriamo l'app. js qui, va bene?

140
00:07:26,240 --> 00:07:27,563
‫Chiudi questo un po' di più.

141
00:07:29,070 --> 00:07:34,070
‫E qui diciamo solo Avvia app express.

142
00:07:35,220 --> 00:07:38,070
‫Salvalo e vedrai subito in

143
00:07:38,070 --> 00:07:41,260
‫VS Code come otteniamo questa linea verde.

144
00:07:41,260 --> 00:07:42,540
‫E quindi significa

145
00:07:42,540 --> 00:07:45,810
‫che a questo punto c'era qualcosa di nuovo inserito.

146
00:07:45,810 --> 00:07:47,510
‫Ora puoi anche fare

147
00:07:47,510 --> 00:07:50,500
‫clic su di esso e vedere sostanzialmente come appariva

148
00:07:50,500 --> 00:07:53,730
‫prima, e puoi anche, proprio qui, tornare indietro nel tempo.

149
00:07:53,730 --> 00:07:55,343
‫Quindi annulla la modifica.

150
00:07:56,630 --> 00:07:59,330
‫E la stessa cosa quando elimini qualcosa.

151
00:07:59,330 --> 00:08:01,500
‫Quindi cancelliamo questa riga di codice.

152
00:08:01,500 --> 00:08:03,900
‫E così qui vedete che

153
00:08:03,900 --> 00:08:06,130
‫prima c'era praticamente qualcosa.

154
00:08:06,130 --> 00:08:08,340
‫Quindi, di nuovo, puoi fare

155
00:08:08,340 --> 00:08:11,740
‫clic su questo e sostanzialmente vedere cosa c'era prima.

156
00:08:11,740 --> 00:08:13,560
‫Puoi tornare indietro nel

157
00:08:13,560 --> 00:08:16,123
‫tempo, quindi facciamolo per riportarlo indietro.

158
00:08:17,409 --> 00:08:19,583
‫Ora proviamo velocemente a caricarlo qui,

159
00:08:20,600 --> 00:08:23,870
‫ma per qualche motivo i file modificati non vengono visualizzati qui.

160
00:08:23,870 --> 00:08:27,960
‫Quindi, idealmente, ora app. js sarebbe qui in

161
00:08:27,960 --> 00:08:32,580
‫questo elenco perché questo è il file che ho appena modificato, ok?

162
00:08:32,580 --> 00:08:35,270
‫Ma, ancora una volta, comunque, non è molto importante.

163
00:08:35,270 --> 00:08:37,900
‫Dovrebbe anche apparire qui in questo

164
00:08:37,900 --> 00:08:42,530
‫albero di file con un colore diverso non appena l'ho modificato, ok?

165
00:08:42,530 --> 00:08:44,623
‫Ora se diciamo di nuovo

166
00:08:46,280 --> 00:08:51,280
‫git status, vedrai qui modificato: app. js, ok?

167
00:08:51,730 --> 00:08:54,160
‫Quindi questo è l'unico output che abbiamo

168
00:08:54,160 --> 00:08:56,420
‫qui, e vedi anche che le

169
00:08:56,420 --> 00:08:59,770
‫modifiche non sono ancora state preparate per il commit, ok?

170
00:08:59,770 --> 00:09:02,670
‫E quindi ora, di nuovo, aggiungiamoli tutti.

171
00:09:02,670 --> 00:09:05,810
‫Quindi git add e poi -A,

172
00:09:05,810 --> 00:09:09,313
‫o potremmo anche aggiungere questo singolo file all'add.

173
00:09:10,300 --> 00:09:14,440
‫Quindi app. js, va bene?

174
00:09:14,440 --> 00:09:18,430
‫Proviamo di nuovo con git status, quindi ora è verde.

175
00:09:18,430 --> 00:09:21,940
‫E quindi ciò significa che le modifiche verranno salvate

176
00:09:21,940 --> 00:09:24,300
‫non appena eseguiamo un nuovo commit.

177
00:09:24,300 --> 00:09:27,743
‫Quindi facciamolo, git commit -m.

178
00:09:29,820 --> 00:09:34,820
‫Per il messaggio, aggiunto un commento, e il gioco

179
00:09:36,810 --> 00:09:38,550
‫è fatto.

180
00:09:38,550 --> 00:09:41,000
‫Quindi, vedete, il messaggio ha aggiunto il commento.

181
00:09:41,000 --> 00:09:43,850
‫Un file è cambiato e c'è stato un inserimento.

182
00:09:43,850 --> 00:09:45,450
‫Quindi questa è questa linea qui.

183
00:09:45,450 --> 00:09:49,150
‫E così ora quella barra verde che avevamo qui è sparita,

184
00:09:49,150 --> 00:09:52,600
‫e questo significa che ora tutto è di nuovo pulito.

185
00:09:52,600 --> 00:09:55,640
‫Ora vedete anche questo master qui, lo vedete

186
00:09:55,640 --> 00:09:57,030
‫anche qui, e

187
00:09:57,030 --> 00:10:00,040
‫questo significa che siamo nel ramo master.

188
00:10:00,040 --> 00:10:04,180
‫Quindi i rami sono un altro concetto molto importante in Git, ma

189
00:10:04,180 --> 00:10:07,070
‫a questo punto non entrerò proprio in questo.

190
00:10:07,070 --> 00:10:10,750
‫Per ora lavoreremo sempre e solo nel ramo master.

191
00:10:10,750 --> 00:10:14,140
‫Ottimo, quindi ora hai un repository locale con

192
00:10:14,140 --> 00:10:16,920
‫tutto il tuo codice impegnato.

193
00:10:16,920 --> 00:10:19,000
‫E così nel prossimo video,

194
00:10:19,000 --> 00:10:22,480
‫inseriamo effettivamente questo ramo su un ramo remoto su GitHub.

195
00:10:22,480 --> 00:10:25,170
‫Quindi fondamentalmente ospitalo sull'account GitHub che abbiamo

196
00:10:25,170 --> 00:10:26,960
‫appena creato prima.

197
00:10:26,960 --> 00:10:28,560
‫Quindi spero di vederti presto lì.

