Gentoo Archives: gentoo-docs-it

From: Daniele Segato <daniele.segato@×××××.com>
To: gentoo-docs-it@l.g.o
Subject: [gentoo-docs-it] howto su git - Note sul PDF
Date: Thu, 02 Feb 2012 12:22:01
Message-Id: 4F2A80AA.9090707@gmail.com
1 Ciao,
2
3 stavo dando un'occhiata al PDF di howto per vedere se c'era qualcosa che
4 mi serviva
5
6 ad un certo punto c'è questo:
7
8 *****
9 Materiale superfluo
10 Può darsi che sia necessario inserire nel proprio repository del
11 materiale estraneo.
12 Ad esempio:
13 $ echo "Correggere gli errori di ortografia" > my_personal_TODO
14 In tal caso, per non "sporcare" il repository git, si può usare il file
15 .gitignore
16 $ echo "my_personal_TODO" >> .gitignore
17 che contiene il materiale che deve essere ignorato da git.
18 *****
19
20 in realtà non è il massimo fare quanto qui consigliato
21
22 il file .gitignore è fatto per essere __condiviso__ con tutti gli altri
23 sviluppatori (traduttori nel nostro caso)
24
25
26 per ignorare file solo nella nostra copia locale è meglio agire su:
27
28 .git/info/exclude
29
30 si usa allo stesso modo:
31
32 echo "my_personal_TODO" >> .git/info/exclude
33
34 ancor meglio se l'ignore è messo con il path assoluto:
35
36 echo "/my_personal_TODO" >> .git/info/exclude
37
38 / si riferisce alla root del progetto, dove si trova anche il PDF di cui
39 parlo
40
41
42
43
44 sui merge io consiglio di lanciare questo comando:
45
46 git config --global merge.conflictstyle diff3
47
48
49 a cosa serve?
50
51 / --- F
52 C
53 \ --- B
54
55
56 F = ultimo commit dell'utente Foo
57 B = ultimo commit dell'utente Bar
58 C = ultimo commit comune a Foo e Bar
59
60
61 questa situazione si verifica spesso quando Foo e Bar stanno lavorando
62 contemporaneamente
63
64 partono da una base comune (che sta su gitorious) e lavorano sul proprio PC.
65
66
67 Se Foo fa push su gitorious (pubblica le modifice) quando toccherà a Bar
68 fare il push verrà fatto un merge.
69
70
71 Git risolve i merge da solo fintanto che la modifica non avviene sullo
72 STESSO FILE e sulle STESSE RIGHE DEL FILE.
73
74
75 facendo un'esempio:
76
77
78 questo è C
79 <p>
80 Gentoo è una distribuzione versatile e magnifica!
81 </p>
82
83
84 questo è F:
85 <p>
86 Gentoo è sempre stata una distribuzione versatile e magnifica!
87 </p>
88
89
90 questo è B:
91 <p>
92 Gentoo è una distribuzione versatile e magnifica da personalizzare!
93 </p>
94
95
96
97
98
99 Foo fa il push, quindi su gitorious finisce la versione F
100
101
102 Bar fa il pull e si trova un conflitto
103
104 la risoluzione del conflitto deve tener conto sia delle modifiche di Foo
105 che di quelle di Bar
106
107
108 Normalmente git vi mostra questo conflitto così:
109
110 <p>
111 <<<<<<< HEAD
112 Gentoo è una distribuzione versatile e magnifica da personalizzare!
113 =======
114 Gentoo è sempre stata una distribuzione versatile e magnifica!
115 >>>>>>> foo
116 </p>
117
118
119 se non vi ricordate com'era C potrebbe non essere facile capire cosa si
120 vuole ottenere
121
122 con il comando dato sopra:
123 git config --global merge.conflictstyle diff3
124
125
126 si ottiene invece questo:
127 <p>
128 <<<<<<< HEAD
129 Gentoo è una distribuzione versatile e magnifica da personalizzare!
130 ||||||| merged common ancestors
131 Gentoo è una distribuzione versatile e magnifica!
132 =======
133 Gentoo è sempre stata una distribuzione versatile e magnifica!
134 >>>>>>> foo
135 </p>
136
137
138 si vede anche la versione "in mezzo" ed è più facile capire che il
139 risultato dev'essere:
140
141 <p>
142 Gentoo è sempre stata una distribuzione magnifica da personalizzare!
143 </p>
144
145
146 altre configurazioni che trovo utili:
147
148 # definizione di qualche alias
149 git config --global alias.st status
150 git config --global alias.ci commit
151 git config --global alias.co checkout
152 git config --global alias.br branch
153
154 # questo
155 git config --global alias.diffword 'diff --word-diff'
156
157 dopo questi alias
158 git st == git status
159
160 (per scriver di meno)
161
162 e
163
164 git diffword mostra le differenze "parola per parola" anziché "riga per
165 riga"
166
167 è equivalente a scrivere git diff --word-diff
168
169
170
171 ci sarebbe poi tutta una serie di consigli per migliorare l'utilizzo da
172 linea di comando ma per ora mi fermo qui :)
173
174
175 spero di essere stato d'aiuto ;)

Replies

Subject Author
Re: [gentoo-docs-it] howto su git - Note sul PDF Alessandro Candini <canduc17@×××××.com>
[gentoo-docs-it] Re: howto su git - Note sul PDF Daniele Segato <daniele.segato@×××××.com>
Re: [gentoo-docs-it] howto su git - Note sul PDF Maurizio Camisaschi <camisaschi@×××××.it>