2017-09-01 5 views
0

Nehmen wir an, Entwickler A hat eine Methode in der Datei class.cs geändert, die Änderungen getestet und eingecheckt. Change-set wurde in Akzeptanzzweig zusammengeführt und in Akzeptanzumgebung implementiert Die Änderung wurde vom Benutzer noch nicht genehmigt, um in die Produktion zu gehen.TFS-Rollback eines vorherigen Changeset, dessen Dateien durch die letzten Changesets geändert wurden

Später musste Entwickler B eine weitere Änderung an derselben Datei für einen anderen Zweck vornehmen. Diese Änderung hat eine hohe Priorität und wurde bereits für die Annahme bereitgestellt und vom Benutzer genehmigt. ABER die vorherige Änderung kann nicht in Produktion gehen, da sie noch nicht genehmigt wurde.

Was ist der Ansatz hier? Rollback die Änderungen von Dev Ein Wechsel-Set und dann sollte Dev B seine Arbeit wiederholen? Irgendwie die beiden Versionen der Datei zusammenführen, die unerwünschte Änderung entfernen und einen neuen Check-in machen? (wenn es überhaupt möglich ist)

Antwort

1

Dies ist ein großartiger Anwendungsfall für Funktionsschalter. Grundsätzlich können Sie jeden neuen Teil der Funktionalität über ein Flag ein- und ausschalten (dies kann aus der Datenbank der Anwendung, über eine Konfigurationsdatei oder wie auch immer gesteuert werden). Auf diese Weise können Sie Ihren Code vollständig integrieren und weiterversenden, selbst wenn eine bestimmte Funktion nicht genehmigt oder abgeschlossen wurde.

Die wichtige Sache ist, dass Sie Ihre Funktion toggelt, sobald Sie sicher sind, dass Sie die neue Funktion nicht wieder deaktivieren müssen, andernfalls wird der Code eine große Unordnung von Knöpfen.

Eine andere Möglichkeit besteht darin, eine Verzweigungsstrategie beizubehalten, die Hotfixes besser unterstützt. Es gibt zahlreiche Dokumentationen zu verschiedenen Verzweigungsstrategien für die Unterstützung von Service-/Hotfix-Releases.

So etwas wie das alles sein kann, was Sie brauchen: release branching strategy Ref: https://www.visualstudio.com/en-us/articles/branching-strategies-with-tfvc

Verwandte Themen