specific pick multiple how given from commits cherry but bad another git git-merge git-cherry-pick

multiple - how to use cherry pick git



git merge--no-commit vs git cherry-pick--no-commit (2)

¿Hay alguna diferencia entre git merge --no-commit y git cherry-pick --no-commit ?

¿Y hay alguna diferencia en la historia si me comprometo después de estos dos comandos?


Mientras que git-merge se usa para unir dos o más historiales de desarrollo, git-cherry-pick se usa para aplicar los cambios introducidos por algunas confirmaciones existentes.

Entonces, una vez que te comprometas después de realizar una git-merge , Git agregará lo que se llama una confirmación de combinación . En el otro lado, cuando se git-merge , git aplicará los cambios introducidos por estos compromisos en la parte superior de su árbol de trabajo (no hay fusión entre dos o muchas ramas). Dicho de otra manera, los Commits se clonan y se colocan en la parte superior de su sucursal.

Eche un vistazo a Git Cherry-pick vs Merge Workflow para entender las diferencias basadas en las necesidades reales de un representante de repo.


Si te comprometes después de git merge --no-commit , obtendrás un commit de fusión. Mientras que después de un git cherry-pick --no-commit obtendrás un commit con un solo padre.

Por lo tanto, sí, hay una diferencia entre esos dos comandos.

En particular si tienes algo como

A -- B -- C / L HEAD / -- D -- E

Si cherry-pick E , no obtendrá modificaciones de la cherry-pick D Mientras que si te merge , obtendrás ambos.