Angenommen, ich bin der Betreuer eines Repos und möchte Änderungen von einem Mitwirkenden übernehmen. Es gibt einige mögliche Workflows:
- Ich
cherry-pick
verpflichte mich jeweils von der Fernbedienung (in der Reihenfolge). In diesem Fall zeichnet git das Commit als nicht mit dem Remote-Zweig verbunden auf. - Ich bin
merge
der Zweig, ziehe alle Änderungen ein und füge ein neues "Konflikt" -Commit hinzu (falls erforderlich). - Ich habe
merge
jedes Commit von der Remote-Verzweigung einzeln (wieder in der richtigen Reihenfolge) ausgeführt, sodass Konflikte für jedes Commit aufgezeichnet werden können, anstatt alle zu einem zusammenzufassen. - Der Vollständigkeit halber könnten Sie eine
rebase
(wiecherry-pick
Option?) Tun , aber ich verstehe, dass dies für den Mitwirkenden Verwirrung stiften kann. Vielleicht entfällt dadurch Option 1.
In beiden Fällen 2 und 3 zeichnet git im Gegensatz zu 1 den Zweigverlauf der Commits auf.
Was sind die Vor- und Nachteile zwischen der Verwendung von entweder cherry-pick
oder den merge
beschriebenen Methoden? Mein Verständnis ist, dass Methode 2 die Norm ist, aber ich bin der Meinung, dass die Lösung eines großen Commits mit einer einzigen "Konflikt" -Zusammenführung nicht die sauberste Lösung ist.