„Jeśli masz zadanie, które można wykonać w ciągu sześciu godzin, lepiej jest napisać narzędzie, które wykonuje je w 20 minut, nawet jeśli tworzenie narzędzia zajmuje sześć godzin?”
Kontrola wersji rozproszonej to inna bestia do rozwiązania. Wymaga to gruntownej nauki dla każdego programisty. Jeśli masz bufor do obsługi procesu uczenia się dla każdego programisty, powinieneś przejść do dobrego rozproszonego systemu kontroli wersji. Po zakończeniu fazy uczenia się rozproszona kontrola wersji jest znacznie lepsza niż scentralizowana kontrola wersji.
Rozproszona kontrola wersji wydaje się być ewentualnością. Jest tu na bardzo długo, lepiej, żebyśmy się do niego przystosowali wcześniej niż później. Pamiętam tę samą dyskusję, kiedy SVN był nowy i ludzie byli przyzwyczajeni do CVS, podano wiele argumentów za nieużywaniem SVN, ale ostatecznie SVN stał się najpopularniejszym systemem kontroli wersji.
Jeśli firma ma ugruntowaną pozycję z dużą ilością kodu źródłowego w istniejącym systemie kontroli wersji, przejście do nowego systemu jest dużym zadaniem, ale jeśli firma jest mała lub zaczyna działalność, przejście do nowej kontroli wersji jest bardzo łatwe. Ale jeśli pozostaniesz przy starszej kontroli wersji (w nowej konfiguracji), gdzieś w przyszłości trafisz na wąskie gardło, gdzie będziesz musiał ostatecznie zaplanować migrację kontroli wersji.
Widziałem wiele profesjonalnych komentarzy SVN, ale wszystkie mają charakter „SVN nie jest zły”, a nie „SVN jest lepszy”. Dlatego zdecydowanie zalecam wybranie rozproszonej kontroli wersji (takiej jak Git) dla swojego projektu.
EDYCJA
Zalety GIT w stosunku do SVN
Nie jest wymagany serwer dedykowany Właściwie oba mogą być używane bez serwera.
- Może kontynuować rozwój nawet bez połączenia sieciowego.
- Zarządzanie oddziałami jest znacznie łatwiejsze.
- Lepsze wsparcie z narzędzi CI, takich jak Bamboo
Ktoś wymienił oprzyrządowanie (dla studia wizualnego) jako powód, aby trzymać się SVN. http://gitscc.codeplex.com/ zapewnia obsługę GIT dla Visual Studio.