[Linux-Biella] hg vs git spiegatemi

Daniele Segato daniele.bilug a gmail.com
Mer 16 Nov 2011 09:55:45 CET


On Tue, 2011-11-15 at 18:27 +0100, Federico "Darkmagister" Pietta wrote:
> ora mi è tornato il pallino di perchè git è diverso ???


non conosco hg/mercurial quindi non so risponderti


so che esiste una feature unica a git (nessun altro versioning system la
possiede, ne hg ne altri)

ed è la possibilità di riconoscere segmenti di codice e la loro
provenienza


questo è utile se non ti ricordi perché hai scritto un pezzo di codice o
se non lo hai scritto tu e vuoi capire


quando sei in una situazione del genere di solito usi git blame, o
meglio il suo fratello grafico: git gui blame



quindi:

git gui blame <path/al/file>

ti si apre una bella interfaccia in cui, riga per riga, vedi il commit a
cui quella riga è stata scritta, il commento di commit, quando è stata
scritta, da chi ....

questo lo fanno molti tool, penso anche hg

ciò che fa git e che nessun altro fa, te lo spiego con un esempio:

la riga (o pezzo di codice) che ti serve sapere, quando ci vai sopra con
il mouse recita:

"refactor per supportare più casistiche

data: ...
autore: ..."

il che, come commento di commit può avere perfettamente senso se quel
pezzo di codice è stato postato per un refactor non avrebbe senso
spiegare cosa faceva o perché è stato scritto, ne l'autore del refactor
è tenuto a saperlo


ma git, a differenza di qualunque altro, subito sotto scrive:

"spostato qui dal commit <....>

questo è un hack necessario perché ...

data: ...
autore: ..."



chiaro che dipende dalla bontà dei commit :)
però questa è una funzionalità unica a git (l'ho già detto? :P)



Maggiori informazioni sulla lista Linux