-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathGuidaGit.txt
126 lines (103 loc) · 6.4 KB
/
GuidaGit.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Questa guida spiega l'utilizzo generale di git.
NOZIONI GENERALI
Sappiate che se avete seguito install.txt ora avete quasi pieni poteri sul
repository appunti-condivisi. Intendo che ora potete modificare tutti i file
(e intendo anche cancellarli) che si trovano sul repository e le vostre modifiche
saranno effettive su tutte le copie locali dei repository.
Come sapete da grandi poteri derivano grandi responsabilità... state attenti e non
fate cazzate.
Allo stesso tempo sappiate che voi NON avete pieni poteri... nel senso che qualsiasi
modifica voi facciate io (Federico Glaudo) posso annullarla. In particolare quindi
se cancellate un file per errore e non riuscite più a rimetterlo (cosa che comunque
dovreste poter fare) non è un dramma... tutto si risolve. La cosa grave che potete
fare è mettere un documento che non volete stia online (ad esempio una vostro foto
nudi oppure una vostra password). In questo caso è *davvero* difficile togliere
quello che avete messo dalla history. Meno grave, ma comunque da evitare, è mettere
file pesante sul repo online, perchè appesantiscono tutto.
Git è un software di controllo di versione distribuito (citazione da wiki).
Questo vuol dire che fondamentalmente dà la possibilità ad un gruppo di persone
di avere dei file "in comune" e di tenere una storia degli aggiornamenti che
subiscono questi file. È molto comodo per tenere ad esempio degli appunti condi-
visi (infatti non siamo i primi a pensarci).
Un repository è una cartella che però tiene una history di se stessa.
In particolare la cartella appunti-condivisi è un repository. Inoltre è un
repository che è sincronizzato con una versione online dello stesso. Questo vuol dire
che quello che voi farete nella cartella appunti-condivisi, dando gli opportuni comandi
verrà mandato al server e noi altri potremo vederlo. Allo stesso tempo, voi potrete
aggiornare la vostra versione di appunti-condivisi dando gli opportuni comandi.
Ci tengo a dire che quello che fate nella cartella appunti-condivisi resta sul vostro
pc A MENO CHE voi non diate comandi opportuni che lo mandano sul server. E allo stesso
tempo la versione che voi avete resta "vecchia" a meno che voi non diciate esplicitamente
di aggiornarla.
GUIDA TECNICA TERMINALE
Ora vi insegnerò i comandi fondamentali per usare git e farlo funzionare. Io
lo uso da terminale e mi trovo bene, quindi vi insegno a usarlo da terminale.
Io non sono un esperto di git. Conosco solo 3-4 comandi di base
per farlo funzionare quanto serve. Ma a voi va ancora meglio... visto che come ho
detto NON avete pieni poteri sul repository fondamentalmente quei 3-4 comandi che
io conosco sono tutti quelli che vi servono.
Tutti i comandi che seguono devono essere lanciati da dentro la cartella locale
corrispondente al repository.
git add FILE
Quando create un file nella cartella appunti-condivisi, se volete che git inizi
a controllare anche questo file (in particolare a mandarlo sul server) dovete
dare questo comando. Se avete creato molti file e volete che vengano tutti
addati, date il comando
git add .
Mi raccomando... NON aggiungete file grandi al repository (anche solo immagini
sarebbe da evitare, ma non è vietato). Da notare che sul vostro pc potete ovviamente
tenere tutti i file che volete (pure film) in appunti-condivisi basta che non li addiate.
git pull
Questo comando serve a scaricare dal server l'ultima versione del repository
e aggiornare così la vostra cartella locale.
Se avete fatto delle modifiche a dei file lui è furbo e non ve le cancella.
Suggerisco di lanciare sempre git pull prima di fare git commit o git push...
è una piccola accortezza in più per evitare problemi.
git commit FILE -m "Commento"
Questo comando serve a dire a git che una modifica che avete fatto ad un file
è una cosa che vorrete poi mandare sul server. Il commento è obbligatorio e
deve essere corto (meno di 50 caratteri).
Se ad esempio avete scritto una soluzione a un problema che si chiama
"Palla che rotola" il commento sarà una cosa tipo "Aggiunto soluzione a Palla
che rotola".
git push
Questo serve per mandare effettivamente i vostri commit sul server. Ciò che
non avete committato non sarà mandato sul server.
Può dare errori se altre persone hanno modificato i vostri stessi file contemporaneamente.
Questo comando vi chiede la password.
git status
Questo comando vi dice l'attuale situazione della vostra cartella.
In particolare se avete modificato file e non committati, se avete
committato modifiche e non le avete ancora pushate, se avete creato file e non
li avete ancora addati.
Suggerisco di dare questo comando ogni volta che volete fare git commit o
git push o git add... vi dà l'idea di cosa dovete fare ;)
git reset --hard HEAD
ATTENZIONE: una volta lanciato NON si torna indietro... questi comandi
CANCELLANO le vostre modifiche.
Se ad un certo punto vi accorgete che in locale avete fatto un casino (che non
avete committato) e volete semplicemente tornare alla versione prima della
vostra modifica dovete lanciare questo comando.
Se avete anche committato ma NON pushato allora darete:
git reset --hard HEAD^^..^^
Con tanti ^ quanti sono i commit che avete fatto sbagliati.
Se avete anche pushato ci sono 2 soluzioni. O aggiustate voi tutto a mano e
fate un altro push in cui tutto viene aggiustato per benino, oppure dovete chiedere
a me di annullare il vostro push ;)
GUIDA TECNICA SITO github
Se proprio odiate il terminale potete fare tutto quello che vi serve anche dal
sito:
https://github.com/dario2994/appunti-condivisi
Potete aggiungere file, modificarli e committare.
Attenzione perchè se modificate dal sito ogni singola modifica che fate (e committate
cliccando in basso commit) viene resa effettiva. Mi raccomando che dovete commentare
i commit anche se li fate dal sito ;) Se proprio volete usare il sito vi suggerisco
di scaricarvi una copia del repository (in basso a destra trovate un bottone con scritto
download zip) e lavorare in locale. Quando avete finito e siete soddisfatti allora
piazzate le modifiche sul server tramite sito (l'interfaccia è facile da usare
quindi non sto a spiegarvela), in particolare dovrete copiaincollare
le modifiche perchè non è possibile uppare direttamente file.
Sconsiglio vivamente di usare il sito, se non per modifiche piccole.
Invece suggerisco vivamente di usare il sito per commentare codice altrui, se
ad esempio trovate un errore che non sapete o non potete (il file non è vostro)
risolvere.