kontrola wersji dla małego zespołu [zamknięte]

13

Rozwijamy nowy zespół bardzo małych rozmiarów (powiedzmy 2-5). Moje pytanie brzmi: jaki rodzaj kontroli wersji działa najlepiej dla tego rodzaju zespołów, scentralizowanych lub rozproszonych.

prasonscala
źródło
Spróbuj SVN tortoisesvn.tigris.org To jest najlepsze 4 ty.
Vijesh V.Nair
Co chcesz napisać i jaką platformę?

Odpowiedzi:

30

Rozproszone przez całą drogę, naprawdę nie ma już sensu scentralizowanego IMHO, szczególnie jeśli chodzi o rozwój zespołu.

Kolejny głos na Mercurial, bez kłopotów z konfiguracją pod Windows i bitbucket.org ma darmowe repozytoria (które mogą być prywatne) z nieograniczoną przestrzenią.

Jeśli planujesz pracować nad projektem open source, git i Github wydają się bardziej odpowiednie / popularne. Jeśli jednak nie zapuściłeś się w DVCS, polecam zacząć od Mercurial i tego niesamowitego przewodnika .

dukeofgaming
źródło
1
+1 za ten niesamowity przewodnik od Joela Spolsky'ego. Świetna sprawa. Ponadto, nawet jeśli jesteś teraz bardzo mały, jak mówi @dukeofgaming, nie ma sensu już zaczynać scentralizowanego. Nawet jeśli planujesz tylko nieco wyprzedzić.
Mark Freedman
W przypadku projektów dotyczących wolności oprogramowania, giarious jest prawdopodobnie lepszy niż github.
Lars Wirzenius
@Lars: Co rozumiesz przez „wolność oprogramowania”?
Richard Ev
5
Nawet jako samotny programista Mercurial ma doskonały sens.
Oliver Weiler,
amen @Helper Method, tak zacząłem go używać
dukeofgaming
4

ten, z którego wszyscy będziecie korzystać konsekwentnie

[osobiście lubię Mercurial]

Steven A. Lowe
źródło
15
O ile nie jest to SourceSafe.
Robert Harvey
4

Prawdopodobnie najlepszą odpowiedzią jest „z czymkolwiek wygodnie”. Nawet podczas pracy nad osobistymi rzeczami używam Git. Wydaje się, że dobrze sobie radzi ze skalowaniem zarówno w górę, jak iw dół, a moje ograniczone doświadczenie z Mercurialem jest prawie takie samo.

MIA
źródło
Z mojego ograniczonego doświadczenia z Gitem - jeśli korzystasz z platformy Windows, narzędzia Git nie są jeszcze gotowe na najlepszy czas. Trzymaj się Mercurial (lub pieca). Na innych platformach Git jest prawdopodobnie w porządku.
Mark Freedman
1
Msysgit działa dobrze, jeśli znasz komunikat Shell.
@ Zaznacz, że z pewnością masz rację, jeśli ludzie nie chcą wiersza poleceń. Jednak linia poleceń Git (z powłoką, jak wskazuje Thorbjorn) jest w porządku. Programuję tylko w systemie Windows i używam Git dla projektów VS. Na pewno nic nie zbliża się do TortoiseSVN i AnkhSVN dla Gita.
MIA
1

Myślę, że powinieneś wybrać, z czym czujesz się komfortowo. W małym zespole nie będziesz mieć różnych drzew kodu (takich jak jądro Linuksa), więc centralne repozytorium jest OK. Ale możesz mieć tę konfigurację również z rozproszonym VCS. Wybrałbym więc popularność i osobiste doświadczenie. Popularne są SVN, git i Mercurial. Powinieneś zdecydować, które z nich najlepiej wykorzystać w zespole (doświadczenie, wsparcie narzędziowe w wybranym IDE itp.).

Memento
źródło
1

To naprawdę zależy od tego, czy twoi programiści opracują dużo kodu offline, czy nie, ale tylko wybierać pomiędzy rozproszonym lub scentralizowanym repozytorium, ponieważ jest to pierwsza rzecz, którą powinieneś zdecydować. Następnie, jeśli zdecydujesz, że scentralizowane podejście działa lepiej niż SVN, wystarczy. Z drugiej strony, jeśli wybierasz podejście rozproszone niż git, nawet w systemie Windows jest to wystarczająco dobre, ponieważ teraz masz żółwia git (ten sam interfejs, który istnieje również dla svn). Ponadto, nie licz tak bardzo na wsparcie IDE, ponieważ możesz spotkać się z nieprzyjemną niespodzianką, jeśli kiedykolwiek z niego skorzystasz, i może się okazać, że pliki, które nie powinny być zatwierdzane, są zatwierdzane w twoim imieniu przez IDE.

Coyote21
źródło
1

Zapytaj zespół, czy ktoś chce się tym zająć. O wiele lepiej jest mieć stabilny system i odpowiedzialną osobę, niż dobry system, gdy nikt się nim nie przejmuje i nikt nie jest w stanie przywrócić go z kopii zapasowej.

Jeśli jest taka osoba - będzie już wiedział, czego użyć, więc po prostu zaakceptuj jej decyzję. Jeśli nie - zdobądź rozwiązanie hostowane. Byłoby bardzo głupio wypróbować GIT (jeden z najlepszych), gdyby wszyscy programiści nigdy nie dotykali Shell / Linux.

To zależy również od liczby „nietechnicznych” osób, które muszą czytać / przyczyniać się. Tylko upewnij się, że mogą z niego skorzystać, a są dostępne narzędzia.

Konstantin Petrukhnov
źródło
1

SVN jest szeroko obsługiwany w narzędziach. Kluczem jest oprzyrządowanie; różni ludzie będą mieli różne zestawy umiejętności. Niektórzy wolą wiersz poleceń, niektórzy wolą narzędzia oparte na IDE, inni wolą narzędzia graficzne. W tej chwili SVN wydaje się być najczęściej obsługiwanym narzędziem.

Inne niż ten Mercurial lub Git.

Fortyrunner
źródło
0

Myślę, że w małych firmach istnieją argumenty za scentralizowaniem niektórych spraw. (Pomyśl na przykład o zewnętrznym tworzeniu kopii zapasowych. Gdy tylko dwie osoby pracują nad projektem i mieszkają w tym samym budynku i wybuchł pożar, zdecentralizowane na wszystkich dwóch komputerach może nie wystarczyć).

Jednak: częściowo scentralizowane rozwiązanie nie ogranicza się do scentralizowanego systemu. Możesz po prostu wypchnąć serwer zewnętrzny za pomocą czegoś takiego jak git lub mercurial.

Inka
źródło