Ein Argument gegen git rebase könnte sein, dass es einen komplexeren Prozess als merge ist, und wenn mehrere Entwickler einen Feature-Zweig teilen, bedeutet Midstream-Rebases, dass alle anderen Entwickler ihren lokalen Zweig löschen müssen und eine neue Kopie von der Zentrale erhalten Repository (oder verwenden Sie einen anderen Zweig).Was passiert, wenn Sie Git Merge und Rebase kombinieren?
In dem Szenario, in dem mehrere Entwickler eine Zweigstelle teilen, ist git merge ein einfacherer Arbeitsablauf. Aber was ist mit der endgültigen Zusammenführung zu "Master", wenn das Feature abgeschlossen ist? Was passiert, wenn Sie "Rebase" auf dem Weg verwenden, um mit dem Master synchron zu bleiben? Sie haben "merge" verwendet, aber bei der letzten Lieferung an "Master" verwenden Sie eine interaktive "Rebase", um eine saubere, lineare Historie zu erhalten und uninteressante Commits quetschen? Was passiert insbesondere, wenn die Commits "merge" wiederholt werden oder wie behandelt git das?
Das Argument, das mir begegnet, ist, dass es schwierig sein würde, alle anderen Teammitglieder für die Rebase auszurichten. Ich bin mir nicht sicher, ob es wirklich ein Problem ist oder nicht. Sie müssten in der Lage sein, den entfernten Zweig zu verstehen und zu bewältigen, der plötzlich von ihrem lokalen abweicht. – Bryji
Ja, Sie würden dies nur tun, wenn die Branche wirklich am Ende ihrer Lebensdauer steht (weil sie in den Master integriert oder auf diesen reformiert wurde). Im Idealfall würden Sie nach dem Rebase den Master-Zweig drücken und auch den entfernten Feature-Zweig löschen. Auf diese Weise sollte es für die anderen Mitglieder kein echtes Problem geben - abgesehen von allgemeiner Verwirrung natürlich, weshalb Sie diesen Workflow kommunizieren sollten. Abgesehen davon wird ihr lokaler (nicht reformierter und veralteter) Zweig nicht unterbrochen, sondern einfach obsolet. – poke