Git: Cherry-Pick vers la copie de travail sans commit

190

J'ai plusieurs succursales où je garde certains commits que je souhaite appliquer à ma copie de travail de temps en temps. Au départ, j'ai essayé le cherry-picking mais je ne veux pas avoir le commit dans la branche cible plus tard.

Alors j'ai fait cherry-pick+reset HEAD~1 --soft

Existe-t-il quelque chose de plus simple comme le tri sélectif à la copie de travail uniquement?

schoetbi
la source
4
Vous avez le drapeau '-n' qui signifie "pas de validation". Voir ici: git-scm.com/docs/git-cherry-pick
Igal S.
4
Pour une gamme de commitsgit cherry-pick HEAD..<AwesomeBranch> -n
schoetbi

Réponses:

336

Utilisez le drapeau '-n' avec la sélection de cerises qui est "pas de validation"

Voir ici: http://git-scm.com/docs/git-cherry-pick

git cherry-pick -n <HASH>
Igal S.
la source
34
-napporte le commit à la zone mise en scène Afin de déprécier, il git reset HEADserait nécessaire.
Vishnu NK
5

Si vous utilisez Terminal

git cherry-pick -n <HASH>

Si vous utilisez Intellij Idea

Settings -> Version Control -> git
untick commit automatically on cherry-pick 
Ravinda Lakshan
la source
2

Je recevais des erreurs error: server/metadata/metadata-preui-prod.xml: No such file or directory

Alors maintenant je fais ça

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

Vieux

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

ou tous les fichiers de SHA

git show SHA | git apply -

Comment git-cherry-pick ne modifie que certains fichiers?

rofrol
la source
1

Pour les utilisateurs d'IntelliJ

Paramètres> Contrôle de version> Git: décochez Commit automatiquement au choix

entrez la description de l'image ici

Trayan Momkov
la source