Git: Cherry-Pick a la copia de trabajo sin confirmación

190

Tengo varias ramas donde guardo ciertas confirmaciones que quiero aplicar a mi copia de trabajo de vez en cuando. Inicialmente probé la selección de cerezas, pero no quiero tener el commit en la rama de destino más tarde.

Entonces hice cherry-pick+reset HEAD~1 --soft

¿Hay algo más simple como elegir entre cereza y copia de trabajo solamente?

Schoetbi
fuente
44
Tiene la bandera '-n' que significa "no commit". Ver aquí: git-scm.com/docs/git-cherry-pick
Igal S.
44
Para una variedad de compromisosgit cherry-pick HEAD..<AwesomeBranch> -n
schoetbi

Respuestas:

336

Utilice la bandera '-n' con la selección de cereza que es "no commit"

Ver aquí: http://git-scm.com/docs/git-cherry-pick

git cherry-pick -n <HASH>
Igal S.
fuente
34
-nlleva el compromiso al área escenificada. Para desestabilizarlo git reset HEADsería necesario.
Vishnu NK
5

Si estás usando Terminal

git cherry-pick -n <HASH>

Si está utilizando Intellij Idea

Settings -> Version Control -> git
untick commit automatically on cherry-pick 
Ravinda lakshan
fuente
2

Estaba recibiendo errores que error: server/metadata/metadata-preui-prod.xml: No such file or directory

Entonces ahora hago esto

git checkout SHA -- server/metadata && git reset -- server/met adata

Antiguo

git show SHA -- file1.txt file2.txt | git apply -

o todos los archivos de SHA

git show SHA | git apply -

¿Cómo git-cherry-pick solo cambia a ciertos archivos?

rofrol
fuente
1

Para usuarios de IntelliJ

Configuración> Control de versiones> Git: desmarque Confirmar automáticamente en cherry-pick

ingrese la descripción de la imagen aquí

Trayan Momkov
fuente