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.


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 .


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

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.


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.).


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.


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.


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.


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.