Ich arbeite derzeit an einem Projekt mit einem Team, das einen Git-Workflow verwendet. Es ist ziemlich einfach, Master sollte sich in einem bereitstellbaren Zustand befinden und zum Erstellen von Features und Hotfixes werden Zweige verwendet. Wann immer wir ein Feature oder einen Bugfix fertiggestellt und getestet haben, übertragen wir diesen so schnell wie möglich auf Master. Die Idee ist, dass Zweige so klein wie möglich sein sollten, um das Zusammenführen mit dem Master zu vereinfachen. Wir haben die Richtlinie, dass sich jeder Code, der an den Master-Zweig gesendet wird, in einem bereitstellbaren Zustand befinden und die Tests bestehen soll.
Wir haben eine Situation, in der einer der Entwickler eine Menge Arbeit (im Wert von ein paar Monaten) an einem einzelnen Zweig geleistet hat und dieser Zweig noch nicht in den Master zurückgeführt wurde. Es gibt jetzt ein paar separate Funktionen und eine Reihe von Commits für diesen Zweig. Eigentlich hätte dieser Zweig schon ein paar Mal wieder zusammengeführt werden müssen, aber das war bisher noch nicht der Fall. Der Großteil des Codes befindet sich in einem guten Zustand mit Komponententests, die wieder in den Master integriert werden können. Die letzten Änderungen sollten jedoch nicht vorgenommen werden, da sie noch nicht abgeschlossen und nicht getestet wurden.
Was ist der beste Weg, um mit einer solchen Situation umzugehen, in der eine Niederlassung wirklich weit von den anderen entfernt ist? Wie können wir in Zukunft verhindern, dass Branchen eine sehr große Anzahl von Commits vom Master entfernen?