onsdag 29 augusti 2012

Varför GIT, det är ju inget fel med Subversion?

Den här frågan dyker helatiden upp. Jag använder båda men kan ibland känna mig lite dum eftersom alla andra ser ljuset så klart, men inte jag.

Jag kanske har sett ljuset, men jag kan inte förklara det. Vilket är lika illa i min värld.Distribuerat versions system
Yes, vi vet! GIT är distribuerat.
  • Alla har sin egen version av alltihop.
  • Man kan brancha ut lokalt.
    Utan att påverka omgivningen kan du skapa branches, merga och leva rövare.

Staging area

Du har en area som man kan trycka upp commits till innan man verkligen commitar. Helt tokigt! Precis vad jag alltid önskat!

Ponera att du skall fixa en bugg. Men koden i klassen ser ut som crap.

  • fixa buggen
  • Kör: git add.
    Du har nu stagat din förändring.
  • clean da code
  • git commit -m 'fixa buggen är nu i lokalt repo men inte min clean'

Det är faktiskt inte otrevligt att liksom lasta av det viktiga, det som skall med i en commit. Sammtigt som man kan fortsätta med att kanske rensa.

Mindre trevligt är att Git envisas med att blanda begreppen i en, för dem säkert helt tydlig, soppa.
http://www.benspaulding.us/weblog/2009/mar/17/git-staging-call-it-what-it-is/

Rename och move

GIT är bättre på att klara av det blotta faktum att man flyttar runt och refakturerar på saker. Det här är minsann inte en liten skillnad. Så använd inte git mv för det behövs inte.

http://stackoverflow.com/questions/6172037/really-a-concrete-example-that-merging-in-git-is-easier-than-svn

Debugging

Massively cool, git blame och git bisect. Mest coolt för att jag inte förstår riktigt ännu. But I will!

Socialt

Git är socialt också. Man kodar och commitar i en eufori av att få lägga sin fritid på kodande. Jag köper det rakt av :)

www.github.com

Övriga Källor

Inga kommentarer:

Skicka en kommentar