Non è sicuro se è possibile estrarre singoli commit da un intervallo abcdef..123456
. La sintassi Git range è spiegata nei documenti per gitrevisions e non sembra che funzioni in questo modo. Tuttavia, c'è un altro modo per ottenere quello che vuoi usando solo gli hash della gamma e quelli da escludere.
Supponendo che i due hash nella gamma fromgerritSHA1..togerritSHA1
che non si desidera sono skiphash1
e skiphash2
, provare:
$ git rev-list --reverse fromgerritSHA1..togerritSHA1 | grep -vE 'skiphash1|skiphash2' | git cherry-pick --stdin
git rev-list --reverse fromgerritSHA1..togerritSHA1
stampe impegnano fuori hash nella gamma fromgerritSHA1..togerritSHA1
, una riga alla volta. --reverse
è necessario per elencare gli hash nell'ordine corretto per il cherry-pick.
grep -vE 'skiphash1|skiphash2'
rimuove i due hash che non si desidera dall'elenco. Puoi aggiungere altri hash da saltare, basta separarli con |
.
Infine, l'elenco di solo gli hash di commit che si desidera viene passato a git cherry-pick --stdin
.
fonte
2013-03-28 18:11:40
Simili: [Come ciliegia scegliere una serie di commit e si fondono in un altro ramo?] (Http://stackoverflow.com/q/1994463/55075) – kenorb