Nehmen wir an, eine Person arbeitet in einer kleinen Team-SCRUM-Umgebung. Mehrere Teams arbeiten an verschiedenen Zweigen derselben Codebasis. In unserem Team teilen wir uns normalerweise in Paare auf, um an Code zu arbeiten. Gelegentlich müssen Leute sich frei nehmen usw., und es wäre vorteilhaft, den Code von Person A in die Codebasis von Person B zusammenführen zu können. Aber sie wollen oft nicht am Ende des Tages aus Angst, den Build zu brechen.
Das hat mich zu DVCS geführt - gut geeignet für das P2P-Merging und erfordert nicht "the big commit". Ein Teammitglied schlug vor, dass TFSs shelveset dies auch tun könnte. Wie vergleichen sich die beiden Ansätze?
Team verwendet derzeit Subversion.
Mit dem TFS-Shelveset können Sie etwas erstellen, das einem Änderungssatz ähnelt, der nicht im Haupt-Repository gespeichert ist. Dieses Shelveset ist ein Backup und kann von einem anderen Entwickler von einem anderen Computer "gezogen" werden. Dieses "private Repository" und die Fähigkeit, es zu "ziehen", ist so weit wie das Shelveset mit DVCS vergleichbar ist. Shelvesets sind jedoch keine echten Repositories; Es handelt sich lediglich um Snapshots, sie verwalten keinen Verlauf, und Sie können Änderungen nicht wie beim Quellcodeverwaltungsrepository auf Ihrem TFS einchecken oder verwalten.
Ein DVCS ist viel mehr als das; Mit einem DVCS haben Sie eine vollständige Kopie des Repositorys auf Ihrem Computer. Sie können lokal beliebig oft committen, indem Sie jede von Ihnen vorgenommene Änderung speichern. Sie können Änderungen so oft ändern, wie Sie möchten, da Ihr Computer für alle Absichten und Zwecke Ihre Quellcodeverwaltung ist. Und dann können Sie Ihre Änderungen auf eine andere Maschine übertragen (Zentralrepositor, Maschine bauen oder was auch immer). DVCS ist ein völlig anderes und flexibles Paradigma, das die Verwendung eines zentralen Repositories erlaubt, aber nicht erfordert. Es befreit Sie davon, zwischen stabilen und häufigen Check-ins zu wählen (Sie können lokal einchecken, wann immer Sie wollen, und drücken, wenn Sie stabil sind).
Es gibt noch viel mehr. Wenn Sie möchten, können Sie Joel Spolskey's exzellentes (und hilliges) Intro zu Mercurial DVCS auf hginit.com ausprobieren.
Hoffe, das hilft,
Assaf.
Es gibt eine tfs-git-Lösung. Git ermöglicht es Ihnen, zu tun, was Sie wollen, zu gestalten, wie Sie die Änderungen lesen möchten, und dann am Ende des Tages zu tfs zu committen.
Ich würde sowieso empfehlen, zu git zu wechseln.