pick multiple how commits cherry bad git branching-and-merging cherry-pick

multiple - git cherry-pick no funciona



how to do cherry pick in git (4)

En mi caso, esto me estaba volviendo loco, ya que era bastante obvio que el compromiso específico que quería recoger no se había fusionado en mi rama actual.

Resulta que alguien ya había escogido la comisión 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.

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 ~!


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

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.


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. (Utilice git show <commit-id> para ver la diferencia)


También tenga en cuenta que la adición de un archivo vacío (por ejemplo, .gitkeep ) al árbol es considerada por cherry-pick como una confirmación vacía.