Ich denke, jeder Prozess, den Sie verwenden, erfordert etwas Flexibilität.
Wenn Sie Zweigzweige für jedes Ticket verwenden, können Sie festlegen, dass keine, die eindeutig unvollständig sind, am Ende dieses Sprints wieder in Ihren Hauptzweig eingefügt werden. Leider verhindert dies häufiges Zusammenführen und Sie haben wahrscheinlicher erhebliche Zusammenführungskonflikte, da jeder versucht, Änderungen am Ende eines Sprints zusammenzuführen anstatt sie zu beenden, was anderen die Chance geben würde, diese Änderungen in ihren Verlauf zu rebasen. Sie müssen außerdem sicherstellen, dass die resultierende Zusammenführung aller dieser Features auch dann getestet wird, wenn jedes Feature unabhängig voneinander abgeschlossen ist.
Wenn Sie häufig zusammenführen, dann können Sie nicht einfach nur die Änderungen auswählen, die die Überprüfung im Nachhinein durchlaufen. Sie können jedoch ein Muster aus der fortlaufenden Bereitstellung übernehmen und neue Funktionen erstellen, die Sie in Ihren Releases aktivieren und deaktivieren können. Codeänderungen können sich im Hauptzweig befinden, Sie müssen jedoch nicht unbedingt neue Features verfügbar machen, bis sie als bereit gelten. Offensichtlich hat dies einige Gemeinkosten und ist nur für bestimmte Arten von Änderungen sinnvoll.
Schließlich könnten Sie versuchen, alle Ihre Nacharbeiten am Ende eines Sprints zu vermeiden. Wenn Sie mindestens ein paar Entwickler dazu bringen können, ein Feature zu überarbeiten, bevor Sie es in Ihren Hauptzweig integrieren und anständige Tests durchführen, sollten Sie in der Lage sein, die Qualität Ihrer Hauptzweige hoch zu halten, ohne einen Engpass zu verursachen.
Hoffentlich finden Sie etwas, das für Sie arbeitet.
Betreff: 1. Git hat einen leistungsstärkeren Zweig/Tag/Merge-Prozess als SVN und kann diese Änderungen unabhängig von allen anderen Zusammenführungen beibehalten. Also, ja, es ist in Git möglich. – greyfade