Gwoli malego wyjasniena: kazda wersja to logicznie w miare jednorodna i kompletna zmiana, ktora sie kompiluje i przeszla wszystkie testy. Experymentalny kod i wersje robocze _nie_ umieszczam w systemie kontroli wersji (tu sa rozne praktyki, czesc osob mocno agituje zeby wersje robocze trzymac w branchach, wtedy wersji byloby duzo wiecej). Mimo testow wersja moze wprowadzic blad. Gdzies ze 2-3 razy naprostszym sposoblem lokazacji bledu bylo binarne szukanie wersji ktora wprowadzila blad (wersja K nie ma bledu, wesja N ma blad, spradzamy wesje (K+N)/2 i przechodzimy do odpowiedniego podprzedzialu). Troche wiecej razy po lokalizacji bledu popatrzenie na zmiane ktora wprowadzila blad pomoglo w poprawce.
Jak planuje zmiane jakiegos kawalka kodu to popatrzenie na historie pomaga: pokazuje zaleznosci, widzac cala zmiane (lacznie z komentarzem) latwiej ustalic/przypomniec sobie jakies problemy ktore trzeba bylo rozwiazac.
No i jeszcze jedna rzecz: komfort psychiczny. Mozna by "oszczedzac" pamietajac tylko niektore wersje (w skrajnym przypadku jedna, tzn. ostatnia). Ale wtedy ryzykuje duzo pracy jak cos zepsuje a 500 wersji pozniej odkryje blad. Majac stare wersje prawie zawsze moge naprawic problem wycofujac zmiane ktora wprowadzila blad.