Versionskontrolle für kleines Team [geschlossen]

13

Wir starten ein neues Team von sehr kleiner Größe (sagen wir 2-5). Meine Frage ist: Welche Art der Versionskontrolle funktioniert am besten für diese Art von Teams, entweder zentralisiert oder verteilt.

Prasonscala
quelle
Versuchen Sie SVN tortoisesvn.tigris.org Dies ist am besten für Sie.
Vijesh V.Nair
Was möchtest du schreiben und auf welcher Plattform?

Antworten:

30

Verteilt auf den gesamten Weg, gibt es keinen Grund mehr für eine Zentralisierung, besonders wenn es um Teamentwicklung geht.

Ein weiteres Votum für Mercurial, keine Probleme beim Einrichten unter Windows und bitbucket.org hat kostenlose Repositorys (die privat sein können) mit unbegrenztem Speicherplatz.

Wenn Sie planen, an einem Open Source-Projekt zu arbeiten, scheinen Git und Github angemessener / populärer zu sein. Wenn Sie sich jedoch nicht an DVCS gewagt haben, empfehle ich Ihnen, mit Mercurial und diesem fantastischen Handbuch zu beginnen .

dukeofgaming
quelle
1
+1 für diesen tollen Guide von Joel Spolsky. Tolles Zeug. Auch wenn Sie jetzt sehr klein sind, wie @dukeofgaming sagt, gibt es keinen Grund mehr, zentral zu beginnen. Auch wenn Sie nur etwas vorausplanen.
Mark Freedman
Für Projekte, bei denen es um die Freiheit der Software geht, ist Gitorious wahrscheinlich besser als Github.
Lars Wirzenius
@ Lars: Was meinst du mit "Softwarefreiheit"?
Richard Ev
5
Auch als Einzelentwickler macht Mercurial durchaus Sinn.
Oliver Weiler
amen @Helper Method, so fing ich an es zu benutzen
dukeofgaming
4

die, die Sie alle konsequent nutzen werden

[Ich persönlich mag Mercurial]

Steven A. Lowe
quelle
15
Solange es nicht SourceSafe ist.
Robert Harvey
4

Wahrscheinlich ist die beste Antwort "mit was auch immer Sie sich wohlfühlen." Auch wenn ich an persönlichen Sachen arbeite, benutze ich Git. Es scheint eine ziemlich gute Arbeit zu leisten, sowohl die Skalierung als auch die Reduzierung, und meine begrenzten Erfahrungen mit Mercurial sind ungefähr gleich.

MIA
quelle
Aufgrund meiner begrenzten Erfahrung mit Git - wenn Sie auf einer Windows-Plattform arbeiten, sind die Git-Tools dort noch nicht für die Hauptsendezeit bereit. Bleib bei Mercurial (oder Brennofen). Auf anderen Plattformen ist Git wahrscheinlich in Ordnung.
Mark Freedman
1
Msysgit funktioniert gut, wenn Sie mit einer Shell-Eingabeaufforderung vertraut sind.
@Mark Sie sind sicher richtig, wenn Leute keine Kommandozeile wollen. Die Git-Befehlszeile (mit einer Shell, wie Thorbjorn betont) ist jedoch in Ordnung. Ich programmiere nur unter Windows und benutze Git für VS-Projekte. Es gibt jedoch nichts, was TortoiseSVN und AnkhSVN für Git betrifft.
MIA
1

Ich denke, Sie sollten wählen, mit was Sie sich wohl fühlen. In einem kleinen Team werden Sie keine unterschiedlichen Codebäume haben (wie der Linux-Kernel), daher ist ein zentrales Repository in Ordnung. Sie können dieses Setup aber auch mit verteiltem VCS durchführen. Also würde ich mit Popularität und persönlicher Erfahrung gehen. Beliebt sind SVN, Git und Mercurial. Sie sollten entscheiden, welche davon am besten in Ihrem Team verwendet werden (Erfahrung, Tool-Support in Ihrer gewählten IDE usw.).

Mnementh
quelle
1

Es hängt wirklich davon ab, ob Ihre Entwickler eine Menge Code offline entwickeln oder nicht, sondern nur davon, ob Sie zwischen einem verteilten oder einem zentralisierten Repository wählen, da dies das erste ist, was Sie entscheiden sollten. Wenn Sie sich dann für einen zentralisierten Ansatz entscheiden, der besser als SVN funktioniert, ist alles, was Sie brauchen. Auf der anderen Seite, wenn Sie sich für einen verteilten Ansatz als für Git entscheiden, ist es auch unter Windows gut genug, da Sie jetzt Tortoise Git haben (die gleiche Schnittstelle, die auch für SVN existiert). Verlassen Sie sich auch nicht so sehr auf die IDE-Unterstützung, da Sie möglicherweise eine böse Überraschung erleben, wenn Sie diese verwenden, und Sie möglicherweise feststellen, dass Dateien, die nicht festgeschrieben werden sollten, von der IDE in Ihrem Namen festgeschrieben werden.

Coyote21
quelle
1

Fragen Sie Ihr Team, ob sich jemand darum kümmern möchte. Es ist viel besser, ein stabiles System und eine verantwortliche Person zu haben, als ein gutes System, wenn sich niemand darum kümmert und niemand in der Lage ist, es aus einem Backup wiederherzustellen.

Wenn es eine solche Person gibt - sie weiß bereits, was sie verwenden soll, akzeptieren Sie einfach ihre Entscheidung. Wenn nicht, holen Sie sich eine gehostete Lösung. Es wäre sehr dumm, GIT (eines der besten) zu versuchen, wenn alle Entwickler Shell / Linux nie berührt hätten.

Es hängt auch von der Anzahl der "nicht-technischen" Personen ab, die lesen / beitragen müssen. Stellen Sie einfach sicher, dass sie es verwenden können und Tools verfügbar sind.

Konstantin Petrukhnov
quelle
1

SVN wird in Tools weitgehend unterstützt. Werkzeug ist der Schlüssel; Unterschiedliche Personen verfügen über unterschiedliche Fähigkeiten. Einige bevorzugen Befehlszeilen, andere IDE-basierte Tools und andere grafische Tools. Derzeit scheint SVN das am häufigsten unterstützte Tool zu sein.

Anders als das Mercurial oder Git.

Fortyrunner
quelle
0

Ich denke, dass es in kleinen Unternehmen Argumente dafür gibt, bestimmte Dinge zentralisieren zu lassen. (Denken Sie beispielsweise an Offsite-Backups. Wenn nur zwei Personen an einem Projekt arbeiten und sich im selben Gebäude befinden und ein Brand auftritt, reicht es möglicherweise nicht aus, dezentral auf zwei Computer zuzugreifen.)

Eine teilweise zentralisierte Lösung beschränkt Sie jedoch nicht auf ein zentralisiertes System. Sie können einfach mit etwas wie git oder mercurial auf einen externen Server pushen.

Inca
quelle