Il problema è che uno stash consiste di due o tre commit. Durante la memorizzazione, l'albero di lavoro modificato viene memorizzato in un commit, l'indice in un commit e (se si utilizza il flag --include-untracked
) tutti i file non tracciati in un terzo commit.
È possibile vedere questo se si utilizza gitk --all
e fare una scorta.

[email protected]{0}
punti per il commit che contiene l'albero di lavoro.
È possibile tuttavia cherry-pick da quella commettere se si fa
git cherry-pick "[email protected]{0}" -m 1
La ragione per cui cherry-pick
pensa che la scorta è una fusione, e quindi ha bisogno il parametro -m 1
è che la scorta commettere ha genitori multpile, come puoi vedere nel grafico.
Non sono sicuro di cosa si voglia ottenere con la raccolta delle ciliegie. Una possibile alternativa è creare un ramo dalla scorta. Applica le modifiche lì e unirle al tuo attuale ramo.
git stash branch stashchanges
git commit -a -m "changes that were stashed"
git checkout master
git merge stashchanges
fonte
2013-05-31 17:05:11
>> Non sono proprio sicuro di cosa si vuole ottenere scegliendo il cherry-picking? - Nel mio caso, una semplice unione andrebbe bene facendo stash apply/pop. Ma, mi stavo chiedendo se posso scegliere tra pochi cambiamenti dai cambiamenti nascosti. Grazie per la risposta. –