Czy istnieją zalety stosowania DVCS deweloper solowy?

19

Obecnie używam visual svn na moim serwerze i mam ankhsvn / tortoise na mojej osobistej maszynie. Działa wystarczająco dobrze i nie muszę się zmieniać, ale jeśli widzę pewne zalety korzystania z DVCS, to mogę spróbować.

Jeśli jednak nie ma sensu ani różnicy w używaniu go bez innych ludzi, nie będę się tym przejmować.

Więc ponownie, pytam, czy są jakieś korzyści z używania DVCS, gdy jesteś jedynym programistą?

Steven Evers
źródło
1
Zobacz podobne post stackoverflow: stackoverflow.com/questions/179161/... . Wszystko, co trzeba wiedzieć, sumuje się ładnie tam.
ysolik
Więc moje pytanie został zamknięty jako duplikat jak ten. Niestety na to pytanie nie odpowie kopalni. Czy popychacie i odrywacie się od mistrza, gdy jesteście programistą solo, czy rozgałęziasz się i łączysz? Po prostu staram się zobaczyć, co w odpowiedni sposób używać DVCS jest, gdy jesteś w pojedynkę
Chase Florell
1
Kopie zapasowe są w zasadzie tylko kolejny klon. To może być bardzo ważne, niektóre dni. Również git oprzyrządowanie jest lata świetlne wyprzedza SVN.
Czy kiedykolwiek pracować na laptopie, z dala od swojego serwera?
JBRWilkinson

Odpowiedzi:

19

Tak! Myślę, że największą korzyścią jest lepsza obsługa rozgałęziania i łączenia oferowana przez wiele DVCS. Rozgałęzianie i łączenie się jest rodzajem bólu w dupie w SVN; jest na tyle denerwujący, że nie warto tworzyć małych, krótkotrwałych gałęzi do szybkiego dodawania funkcji, poprawiania błędów lub eksperymentowania, ale łączenie jest również na tyle denerwujące, że tworzenie długich żywotów również jest trudne. Z drugiej strony rozgałęzianie i łączenie jest bardzo proste w Git, do tego stopnia, że ​​tworzę (lokalną) gałąź dla prawie każdej poprawki błędu lub funkcji, nad którymi pracuję.

Myślę, że narzędzia oferowane przez Git do wizualizacji repozytoriów, grepowania logów itp. Są również znacznie lepsze niż w SVN (chociaż jest to bardziej Git niż specyficzne dla DVCS).

DVCS nie wymaga również centralnego serwera; kiedy używasz SVN jako programisty, musisz utworzyć lokalne repozytorium, które chcesz wdrożyć, co nie jest wymagane w Git, ponieważ każde repozytorium zawiera pełną historię. W następstwie archiwizacja repozytorium polega jedynie na spakowaniu projektu - nie ma „centralnej bazy danych” do wykonania kopii zapasowej.

Zacząłem używać Gita prawie cztery lata temu, po pewnym czasie używania SVN, i nie oglądałem się za siebie.

mipadi
źródło
4
Istnieje pogląd, że DVCS nie ułatwiają łączenia, ale użytkownicy DVCS są bardziej wprawni w wykonywaniu połączeń . Dzięki temu subiektywny wygląd połączeń jest łatwiejszy. Oczywiście liczy się subiektywny pogląd.
Richard,
3
DVCS to nie tylko git
Murph,
6
@Richard Ale to źle, scentralizowane narzędzia mają zwykle liniową historię, która nie obsługuje złożonych połączeń.
Alternatywą
2
@Murph: To prawda, ale używam Git, więc użyłem go w moim przykładzie.
mipadi
7

Używam DVCS wiele dla mojego osobistego rzeczy. (Jestem jednym z tych facetów, którzy w $ HOME w git .) Istnieje kilka zalet:

  • To sprawia, że replikacja pomiędzy moim laptopie i komputerów stacjonarnych i laboratoryjnych naprawdę łatwe. Choć to prawda z SVN również ...
  • Mogę popełnić na laptopie nawet kiedy nie masz dostępu do Internetu.
  • Kopie zapasowe są tak proste jak git pull.
  • Mogę użyć git citoolaby zerwać wiele zmian w logicznie wielkości zobowiązuje, nawet jeśli zrobiłem wiele niepowiązanych zmian przed podjęciem decyzji o zatwierdzeniu. Nie jestem świadomy narzędzie to zrobić w Subversion.
  • Kiedy trzeba załatać projektu open source, łatwiej jest utrzymać wszystko zorganizowane poprzez nowe repozytorium git w katalogu projektu, niż to zrobić drugą kopię niezależnego źródła drzewo jestem łatanie. (Nie możesz tego łatwo zrobić z Subversion, ponieważ potrzebujesz osobnego repozytorium gdzie indziej na twoim dysku twardym).
  • Korzystam z funkcji łatwego rozgałęziania, aby sprawdzać wersje otrzymywane od innych osób. Na przykład, kiedy edytować referat konferencyjny z moim doradcą, mimo że nie ma dostępu do repozytorium, mogę przesłać mu kopię papieru i sprawdzić w jego wersjami w oddziale oparty off wersji, że wysłałem go, a następnie użyj, git mergeaby połączyć swoje wersje ze wszystkim, co zrobiłem w międzyczasie.

Git got me wykorzystywane do myślenia o wszystkich moich zmian w logiczne części, dużo bardziej niż kiedykolwiek Subversion.

Ken Bloom
źródło
(lub
5

Moja mama wyłącza modem, gdy jest już za późno na sen. DVCS pozwala mi kontynuować pracę z VCS po wyłączeniu modemu.

linquize
źródło
1
Nazwałbym to „zdolnością do pracy z samolotu” lub „zdolnością do pracy, gdy bitbucket.com się psuje”, ale +1 za pokrycie sprawy offline.
Wyatt Barnett
Również odkryte miejsca bez sieci 3G.
linquize
3

Domyślna odpowiedź brzmiałaby: „Jeśli (cokolwiek teraz używasz) działa dla Ciebie, dlaczego miałbyś to zmienić?”.

Ale tak, nawet jeśli nie ma powodu do zmiany, korzystanie z DVCS jest nieco łatwiejsze niż w „starszych modelach”. Poniższe informacje dotyczą Mercurial , którego najczęściej używam, więc twój przebieg może się różnić w zależności od systemu, którego będziesz używać.

  • bardzo łatwy w użyciu - Pomyślałem wszystkie polecenia potrzebne w godzinę
  • wszystko jest lokalny (nie trzeba serwera zdalnego być online)
  • bardzo łatwy rozgałęzienia / scalanie - nie musisz nawet myśleć o tych rzeczach już
  • łatwe klonowanie (również typu rozgałęzienia) - i na ogół znacznie bardziej przyjazny dla użytkownika interfejs (znalazłem go bardziej przyjemne niż git użytkownika w systemie Windows; również niektóre pojęcia są prostsze, czyli nie wymagają myślenia na mojej stronie, a zatem prowadzi do mniej błahy z VS i więcej pracy)
  • działa ładny z SVN

Skacząca brama do wstępu do Mercurial i bloga (ładne kolory ;-) z przydatnymi wskazówkami .

Wieża
źródło
Hmm, CVS działało dla nas, ale nie było tak blisko, jak subwersja, kiedy się do niej przenieśliśmy. Nowe zabawki dają nowe możliwości - właśnie z tego powodu zastanawiam się, czy Mercurial może być teraz lepszym rozwiązaniem (szczególnie, gdy używam FogBugz), a także potencjał prawdziwości ...
Murph,
3
Przełączenie z SVN do Mercurial był dla mnie objawieniem. Został zainspirowany cudownym hginit.com Joela i nigdy nie oglądałem się za siebie.
Adam Crossland