Git?
Michał Sieńko | 08/06/2008Chciałbym zwrócić uwagę wszystkich na bardzo ciekawą prezentację dotyczącą systemu kontroli wersji Git oraz ogólnie zagadnień związanych z wersjonowaniem kodu, którą prowadzi Linus Torvalds. Torvaldsa można lubić nie za jego bezpośrednie, a czasem bezczelne poglądy i uwagi, jednak jest to gość o ogromnym doświadczeniu i porusza kilka tematów z którymi zetknął się każdy z nas podczas pracy, mianowicie:
- Problemy z wykonywaniem operacji merge’owania dwóch drzew (np głównego i brancha) w popularnych systemach kontroli wersji (VCS) - konieczności planowania i ręcznego rozwiązywania licznych konfliktów, każdy kto chociaż raz musiał ten proces przechodzić wie jaki jest uciążliwy
- Masowo stosowanym rozwiązaniem tego problemu - unikamy tworzenia branchy, zamiast tego robimy kolejne moduły lub długo pracujemy bez commitów (aby do repozytorium wrzucać dopiero sprawny kod)
- Polityką pracy na scentralizowanym VCS - commitowanie jedynie działającego i przetestowanego kodu przez zaufane osoby
- Śledzenie każdego pliku oddzielnie - co w CVS np. objawia się zupełnym brakiem spójności w numerach wersji
Rozwiązanie omawiane w prezentacji to zdecentralizowany system kontroli wersji oparty na polityce zaufania, śledzący projekty jako całość (zamiast pojedynczych plików).
Prezentacja trwa okrągłą godzinę, mimo to zachęcam do jej obejrzenia przede wszystkim z uwagi na ciekawe spostrzeżenia i fakt, że zwraca uwagę na największe problemy tradycyjnych systemów kontroli wersji. Część sugestii nie przekłada się na stosowany przez nas system pracy i byłaby kłopotliwa w zastosowaniu, jednak większość z nich jest trafna i warta przemyślenia. W najgorszym wypadku po prostu pośmiejecie się z docinek Torvaldsa
Link zewnętrzny na YouTube: http://uk.youtube.com/watch?v=4XpnKHJAok8





