Angenommen, ich bin der Betreuer eines Repos und möchte Änderungen von einem Mitwirkenden übernehmen. Es gibt einige mögliche Workflows:
- Ich
cherry-pickverpflichte 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
mergeder Zweig, ziehe alle Änderungen ein und füge ein neues "Konflikt" -Commit hinzu (falls erforderlich). - Ich habe
mergejedes 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-pickOption?) 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-pickoder den mergebeschriebenen 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.