Jestem użytkownikiem SVN od wielu lat i nie mogę powiedzieć, że jestem z tego całkowicie zadowolony. Kilka dni temu mój partner poprosił mnie, abym rzucił okiem na git, mówiąc, że „ma lepszą wydajność, łatwiejsze łączenie i rozgałęzianie”.
Czytałem kilka artykułów porównujących git vs. SVN i byłbym szczęśliwy, gdyby ludzie mogli podsumować zalety i wady za pomocą obu systemów kontroli wersji.
Teraz patrzę na ludzi, którzy przeszli z jednego systemu do drugiego i słyszę subiektywne opinie.
Wiem dla siebie, że naprawdę podoba mi się sposób działania SVN, mając jedno centralne repozytorium, z którego ludzie mogą pobierać pieniądze, wiedząc, że mogę wdrożyć z niego kopię rozwojową na żywo i kopię produkcyjną na żywo, ale czasami mamy problemy z sortowaniem konfliktów lub innych błędów i za każdym razem, gdy musimy różnicować lub przeglądać historię pliku, mamy do czynienia z opóźnieniem sieciowym.
Z drugiej strony, mając rozproszoną platformę, brzmi to również jak ból głowy, jak możesz kontrolować dostęp? czy masz jedno centralne repozytorium, z którego wypychasz i aktualizujesz?
Dziękujemy za rzucić więcej światła na ten problem.
źródło
W moim zespole jesteśmy w trakcie zmiany systemów kontroli wersji z svn na git. Git ma nieco trudniejszą krzywą uczenia się, więc zacząłem się z nim zapoznawać, a następnie nauczyć programistów, jak go używać. Muszą znać wszystkie zalety systemów rozproszonej wersji sterowania: wiele oddziałów, brak centralnego repozytorium, szybkość itp.
Podobnie jak Ty, mieliśmy system do wdrażania naszych witryn, więc utrzymujemy coś w rodzaju centralnego serwera git, na którym zmiany są pobierane i przekazywane do i na komputery programistów. Nasze strony pobierają zmiany z tego „serwera centralnego”, a reszta procesu wdrażania jest podobna do tej przy użyciu svn.
Próbowaliśmy nie mieszać repozytoriów svn i git, zaczynając migrować nasze mniejsze witryny i tworzyć nowe repozytoria git dla głównych witryn, jakby były nową wersją. Dostępem zarządza się za pomocą kluczy ssh. Używamy również gitweb jako interfejsu sieciowego (nasz system svn jest oparty na http)
Działa, nie zmienia się z dnia na dzień i staramy się, aby programiści nie traktowali tej zmiany jako irytującej, ale nową umiejętność uczenia się narzędzia, które w końcu ulepszy nasz własny system.
źródło