Pregunta git cherry-pick no funciona


Intento seleccionar una confirmación del maestro y ponerla en la rama de producción actual. Sin embargo, cuando ejecuto git cherry-pick <SHA-hash>, Acabo de recibir este mensaje:

# On branch prod_20110801
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#   site/test-result/
 nothing added to commit but untracked files present (use "git add" to track)
 The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:

    git commit --allow-empty

Otherwise, please use 'git reset'

Nota: He intentado hacer un reinicio y un reinicio --hard HEAD ^, y ninguno parecía cambiar nada.

Estoy confundido sobre por qué esto no funciona para mí.

Cualquier información, consejo o idea sobre cómo resolver esto sería útil ~!


74
2017-08-15 23:33


origen


Respuestas:


Git está resolviendo el pick-up como una opción no operativa: todos los cambios introducidos por esa confirmación han sido introducidos por algunos commits en su rama actual. (O eso es lo que piensa Git, de todos modos). Verifique que la confirmación que está recogiendo no se haya fusionado de alguna manera, ya sea como una combinación adecuada, rebase / cherry-pick o parche por partes. (Utilizar git show <commit-id> para ver la diferencia)


96
2017-08-15 23:36



En mi caso, esto me estaba volviendo loco, ya que era bastante obvio que el compromiso específico que deseaba elegir era no sido fusionado en mi rama actual.

Resulta que alguien tenía ya Cherry eligió el compromiso una semana antes. los cambios, pero no el SHA específico, ya estaban en mi rama actual, y no los había notado.

Verifique el (los) archivo (s) que está intentando seleccionar. Si ya tienen los cambios, una versión de la confirmación ya se ha seleccionado o agregado de otra manera. Por lo tanto, no hay necesidad de recogerlo de nuevo.


8
2018-04-14 21:49



También tenga en cuenta que al agregar un archivo vacío (p. .gitkeep) al árbol es considerado por cherry-pick como un compromiso vacío.


3
2018-05-09 12:38



Entonces, aquí hay otra situación confusa donde esto puede surgir: tuve lo siguiente:

git log screenshot

Intentaba elegir 9a7b12e, que aparentemente no es nada, incluso trató de decirme en esa línea en la salida de registro de git que 4497428 era lo que realmente quería. (Lo que hice fue buscar el mensaje de confirmación y obtuve el primer hash que vi que lo tenía). De todos modos, solo quiero dejarle saber a la gente que hay otra manera en la que puedes ser engañado para intentar elegir una opción.


1
2018-05-21 04:17