multiple - how to do cherry pick in git
forzar a Git a aceptar los cambios de Cherry Pick (4)
Podrías fuerza bruta con algo como esto:
git show cb1e6a:path/to/filename > path/to/filename
git add path/to/filename
git commit
Pero estoy seguro de que hay una manera más fácil.
Hice una selección de cerezas de una revisión de Gerrit en mi sucursal. En la revisión del código gerrit, tengo dos conjuntos de parches y seleccioné el parche uno antes, así que ahora quiero hacer el segundo parche, pero hay conflictos, ¿cómo puedo forzar a git a aceptar todos los cambios? ¡Gracias!
Puede decirle que prefiera siempre los cambios del compromiso que está seleccionando:
git cherry-pick commitish --strategy-option theirs
commitish
puede ser un hash SHA-1 de un commit, o un branch-name
de branch-name
para el último commit de esa rama, branch-name~1
para el commit antes de eso, etc.
Si quieres hacer lo contrario, usa:
git cherry-pick commitish --strategy-option ours
La abreviatura para --strategy-option
es -X
(X mayúscula).
Si ya está en estado de conflicto, simplemente haga
# add only conflicting files here
git checkout --theirs path/to/file
git add path/to/file
git cherry-pick --continue
git cherry-pick -X theirs <commit-hash-you-want-to-force-cherry-pick-from>
Mi flujo de trabajo habitual es el siguiente:
Suponiendo que estoy en el maestro y acabo de hacer un compromiso.
- Agarro el hash de cometer de ese cometer.
- A continuación, pago y envío a la sucursal que quiero tener tal compromiso.
- Luego ejecute el comando anterior, por ejemplo,
git cherry-pick -X theirs 5cf3412