Kiedy tworzymy program koncentrujemy się przede wszystkim na tym żeby uzyskać żądaną funkcjonalność z możliwie najmniejszą liczbą błędów. Ale w trakcie pracy poprawiając jedne błędy często tworzymy inne.
Pisząc tekst korzystamy z funkcji „Cofnij” edytora automatycznie, kiedy tylko jest nam potrzebna – nikt nie powie że funkcja „Cofnij” jest niepotrzebna. Ale gdy zamkniemy program to tracimy całą informację o zmianach w naszej pracy. Przez to „Cofnij” nie działa następnego dnia rano gdy przyjdziemy do pracy. Zmian, które zrobiliśmy kilka dni wcześniej, już nie cofniemy. Brakuje nam historii zmian w plikach.
Kontrola wersji zapełnia tą lukę dodając taką historię. Historia zaś daje możliwość powrotu do dowolnego punktu w czasie tworzenia systemu. Kontrola wersji działa jak przycisk „Cofnij” w skali makro.
Powyższe porównanie odnosi się jednak do pojedynczego stanowiska pracy. Gdy nad projektem pracuje wiele osób to wtedy magiczny przycisk „Cofnij” nie istnieje. Jednak błędy popełniamy nadal. Tak naprawdę przy pracy zespołowej potrzebujemy czegoś z pogranicza magii i technologii – „magicznej” kontrola wersji, która da możliwość cofania zmian niezależnie od tego kto je popełnił.
Żaden członek zespołu nie musi się martwić, że zmiana, którą wprowadził popsuje kod innych, ponieważ w każdej chwili można wrócić do poprzedniej wersji. Pozwala to zespołowi budować pewność siebie niezbędną do odważnych zmian i rewolucyjnych pomysłów. W projekcie lepiej widać, że kontrola wersji to nie tylko prowadzenie historii plików - to również sposób komunikacji między członkami zespołu.
Za każdym razem gdy w systemie kontroli wersji pojawia się nowa wersja pliku musi ona mieć opis zmian. Dzięki temu każdy członek zespołu może sprawdzić co się w określonym pliku zmieniło i nie potrzebuje w tym celu szukać autora zmian. |