public inbox for gentoo-docs-it@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-docs-it] howto su git - Note sul PDF
@ 2012-02-02 12:25 Daniele Segato
  2012-02-02 12:35 ` Alessandro Candini
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Daniele Segato @ 2012-02-02 12:25 UTC (permalink / raw
  To: gentoo-docs-it

Ciao,

stavo dando un'occhiata al PDF di howto per vedere se c'era qualcosa che 
mi serviva

ad un certo punto c'è questo:

*****
Materiale superfluo
Può darsi che sia necessario inserire nel proprio repository del 
materiale estraneo.
Ad esempio:
$ echo "Correggere gli errori di ortografia" > my_personal_TODO
In tal caso, per non "sporcare" il repository git, si può usare il file 
.gitignore
$ echo "my_personal_TODO" >> .gitignore
che contiene il materiale che deve essere ignorato da git.
*****

in realtà non è il massimo fare quanto qui consigliato

il file .gitignore è fatto per essere __condiviso__ con tutti gli altri 
sviluppatori (traduttori nel nostro caso)


per ignorare file solo nella nostra copia locale è meglio agire su:

.git/info/exclude

si usa allo stesso modo:

echo "my_personal_TODO" >> .git/info/exclude

ancor meglio se l'ignore è messo con il path assoluto:

echo "/my_personal_TODO" >> .git/info/exclude

/ si riferisce alla root del progetto, dove si trova anche il PDF di cui 
parlo




sui merge io consiglio di lanciare questo comando:

git config --global merge.conflictstyle diff3


a cosa serve?

   / --- F
C
   \ --- B


F = ultimo commit dell'utente Foo
B = ultimo commit dell'utente Bar
C = ultimo commit comune a Foo e Bar


questa situazione si verifica spesso quando Foo e Bar stanno lavorando 
contemporaneamente

partono da una base comune (che sta su gitorious) e lavorano sul proprio PC.


Se Foo fa push su gitorious (pubblica le modifice) quando toccherà a Bar 
fare il push verrà fatto un merge.


Git risolve i merge da solo fintanto che la modifica non avviene sullo 
STESSO FILE e sulle STESSE RIGHE DEL FILE.


facendo un'esempio:


questo è C
<p>
Gentoo è una distribuzione versatile e magnifica!
</p>


questo è F:
<p>
Gentoo è sempre stata una distribuzione versatile e magnifica!
</p>


questo è B:
<p>
Gentoo è una distribuzione versatile e magnifica da personalizzare!
</p>





Foo fa il push, quindi su gitorious finisce la versione F


Bar fa il pull e si trova un conflitto

la risoluzione del conflitto deve tener conto sia delle modifiche di Foo 
che di quelle di Bar


Normalmente git vi mostra questo conflitto così:

<p>
<<<<<<< HEAD
Gentoo è una distribuzione versatile e magnifica da personalizzare!
=======
Gentoo è sempre stata una distribuzione versatile e magnifica!
 >>>>>>> foo
</p>


se non vi ricordate com'era C potrebbe non essere facile capire cosa si 
vuole ottenere

con il comando dato sopra:
git config --global merge.conflictstyle diff3


si ottiene invece questo:
<p>
<<<<<<< HEAD
Gentoo è una distribuzione versatile e magnifica da personalizzare!
||||||| merged common ancestors
Gentoo è una distribuzione versatile e magnifica!
=======
Gentoo è sempre stata una distribuzione versatile e magnifica!
 >>>>>>> foo
</p>


si vede anche la versione "in mezzo" ed è più facile capire che il 
risultato dev'essere:

<p>
Gentoo è sempre stata una distribuzione magnifica da personalizzare!
</p>


altre configurazioni che trovo utili:

# definizione di qualche alias
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.br branch

# questo
git config --global alias.diffword 'diff --word-diff'

dopo questi alias
git st == git status

(per scriver di meno)

e

git diffword mostra le differenze "parola per parola" anziché "riga per 
riga"

è equivalente a scrivere git diff --word-diff



ci sarebbe poi tutta una serie di consigli per migliorare l'utilizzo da 
linea di comando ma per ora mi fermo qui :)


spero di essere stato d'aiuto ;)



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2012-02-02 17:04 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-02 12:25 [gentoo-docs-it] howto su git - Note sul PDF Daniele Segato
2012-02-02 12:35 ` Alessandro Candini
2012-02-02 12:43 ` [gentoo-docs-it] " Daniele Segato
2012-02-02 13:16   ` Andrea Chiumenti
2012-02-02 13:28 ` [gentoo-docs-it] " Maurizio Camisaschi
2012-02-02 13:46   ` Daniele Segato
2012-02-02 15:02   ` HUjuice
2012-02-02 15:13     ` Daniele Segato
2012-02-02 16:01       ` HUjuice
2012-02-02 16:17         ` Daniele Segato
2012-02-02 16:15           ` Agostino Sarubbo
2012-02-02 16:53             ` HUjuice
2012-02-02 17:02               ` Agostino Sarubbo
2012-02-02 16:37           ` HUjuice
2012-02-02 17:03             ` HUjuice
2012-02-02 15:23     ` Agostino Sarubbo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox