Obwohl ich DVCS für meine persönlichen Projekte verwende und mag, kann ich sehen, wie es die Verwaltung von Beiträgen zu Ihrem Projekt durch andere erleichtert (z. B. Ihr typisches Github-Szenario), scheint es für ein "traditionelles" Team Probleme zu geben Zentraler Ansatz für Lösungen wie TFS, Perforce usw. (Mit "traditionell" meine ich ein Entwicklerteam in einem Büro, das an einem Projekt arbeitet, das niemand "besitzt", wobei möglicherweise jeder den gleichen Code berührt.)
Ein paar dieser Probleme habe ich selbst vorausgesehen, aber bitte stimmen Sie mit anderen Überlegungen überein.
Wenn Sie in einem herkömmlichen System versuchen, Ihre Änderungen auf dem Server einzuchecken, müssen Sie eine Zusammenführung durchführen, bevor Sie Ihre Änderungen einchecken können. Im DVCS-Modell checkt jeder Entwickler seine Änderungen ein wechselt lokal und drückt irgendwann auf ein anderes Repo. Das Repo hat dann einen Zweig dieser Datei, den 2 Personen geändert haben. Es scheint, dass jetzt jemand dafür verantwortlich gemacht werden muss, mit dieser Situation umzugehen. Eine bestimmte Person im Team verfügt möglicherweise nicht über ausreichende Kenntnisse der gesamten Codebasis, um alle Konflikte zusammenführen zu können. Es wurde nun ein zusätzlicher Schritt hinzugefügt, bei dem sich jemand an einen dieser Entwickler wenden und ihn anweisen muss, die Zusammenführung vorzunehmen und sie dann erneut auszuführen (oder Sie müssen eine Infrastruktur aufbauen, die diese Aufgabe automatisiert).
Da DVCS dazu neigt, die Arbeit vor Ort so komfortabel zu gestalten, ist es wahrscheinlich, dass Entwickler vor dem Push einige Änderungen an ihren lokalen Repos vornehmen, wodurch solche Konflikte häufiger und komplizierter werden.
Wenn jeder im Team nur an verschiedenen Bereichen des Codes arbeitet, ist dies offensichtlich kein Problem. Aber ich bin neugierig auf den Fall, dass alle an demselben Code arbeiten. Es scheint, als ob das zentralisierte Modell die schnelle und häufige Bearbeitung von Konflikten erzwingt, wodurch der Bedarf an umfangreichen, schmerzhaften Zusammenführungen auf ein Minimum reduziert wird und jeder das Hauptrepertoire "polizeilich" abdeckt.
Wie gehen Sie mit solchen Fällen um, wenn Sie mit Ihrem Team in Ihrem Büro ein DVCS verwenden? Finden Sie Ihren täglichen (oder eher wöchentlichen) Workflow negativ beeinflusst? Gibt es noch andere Überlegungen, die ich berücksichtigen sollte, bevor ich ein DVCS an meinem Arbeitsplatz empfehle?