sirve que pick para multiple how hace example commits cherry bad git version-control cherry-pick git-cherry-pick

que - how to use cherry pick git



¿Cómo concluir un Git Cherry-Pick? (4)

Desde mi respuesta anterior de 2014 , el comando correcto hoy en día (2018) es git cherry-pick --quit .
Y antes de Git 2.19 (Q3 2018), " git cherry-pick --quit " no pudo eliminar CHERRY_PICK_HEAD , aunque no vamos a estar en una sesión de selección después de su devolución, que se ha corregido.

Ver commit 3e7dd99 (16 Ago. 2018) por Nguyễn Thái Ngọc Duy ( pclouds ) .
(Fusionada por Junio ​​C Hamano - gitster - en commit 39e415c , 20 Ago. 2018)

cherry-pick: corregir --quit no eliminar CHERRY_PICK_HEAD

--quit se supone que es --abort pero sin restaurar HEAD .
Dejar atrás CHERRY_PICK_HEAD podría hacer que otros comandos cometan errores, ya que cherry-pick todavía está en curso (por ejemplo, " git commit --amend " se negará a funcionar). Limpiarlo también

Para --abort , este trabajo de eliminar CHERRY_PICK_HEAD está en " git reset " para que no tengamos que hacer nada más. Pero agreguemos verificaciones adicionales en --abort pruebas de --abort para confirmar.

Ayer seleccioné dos commits en mi rama principal, uno de ellos causó conflictos de fusión y los resolví, los comprometí y los empujé hasta el origen. Hoy intento sacar del servidor cuando aparece el siguiente error:

$ git pull fatal: You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists). Please, commit your changes before you can merge. $

Lecturas de estado de Git:

$ git status # On branch main # Your branch is behind ''origin/main'' by 2 commits, and can be fast-forwarded. # $

He intentado lo siguiente en vano:

$ git cherry-pick --continue usage: git cherry-pick [options] <commit-ish> $

¿Alguna idea sobre cómo podría resolver esto? ¡Gracias por adelantado!


La próxima vez prueba git cherry-pick --abort , de lo contrario, lo que hiciste debería funcionar más o menos.


Resuelto con lo siguiente: rm .git/CHERRY_PICK_HEAD Me doy cuenta de que esto es peligroso ya que esto no garantiza la consistencia interna dentro de git, pero no hay problemas para mí hasta ahora ...


Si el git cherry-pick --continue no funciona, eso significa que git es demasiado viejo: esa opción se introdujo para git 1.7.8 (diciembre de 2011) en github.com/git/git/commit/…

Funciona al descartar la primera instrucción de .git / sequencer / todo y realizar las selecciones de cerezas restantes allí enumeradas, con opciones (pensar " -s " y " -X ") del comando inicial enumerado en " .git/sequencer/opts ".

Estos días (2014), ese sería el comando que utilizarías cuando veas " You have not concluded your cherry-pick ".