Você pode usar uma combinação serial git rebasee git branchaplicar um grupo de confirmações em outra ramificação. Como já postado por wolfc, o primeiro comando realmente copia os commits. No entanto, a alteração não estará visível até você adicionar um nome de filial à confirmação mais importante do grupo.
Por favor, abra a imagem em uma nova aba ...

Para resumir os comandos no formato de texto:
- Abrir gitk como um processo independente usando o comando:
gitk --all &.
- Corra
git rebase --onto a b f.
- Imprensa F5em gitk . Nada muda. Mas não
HEADestá marcado.
- Corre
git branch selection
- Imprensa F5em gitk . A nova ramificação com suas confirmações é exibida.
Isso deve esclarecer as coisas:
- Confirmar
aé o novo destino raiz do grupo.
- Confirmar
bé o commit antes do primeiro commit do grupo (exclusivo).
- Confirmar
fé o último commit do grupo (inclusive).
Depois, você pode usar git checkout feature && git reset --hard bpara excluir as confirmações caté fdo featureramo.
Além desta resposta, escrevi uma postagem no blog que descreve os comandos em outro cenário que deve ajudar a usá-lo geralmente.
bbasear-sefmais tarde, mas que não tem nada a ver com o cherry-picking.)