Изменить: я добавил некоторую информацию, которую считал ненужной, но это не так. У меня есть две ветки, A и B. После трех коммитов в A, которые изменяют файл.c, я хочу выбрать их в B, также есть файл.h, который был изменен в A ~ 1
> git cherry-pick A~2
Success
> git cherry-pick A~1
error: could not apply 81e0723...
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
> git status
You are currently cherry-picking commit 81e0723.
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: some/unrelated/file.txt
both modified: file.c
Теперь, когда вы смотрите на some/unrelated/file.txt, он содержит изменения в файле.h где-то прямо посередине. Так что это похоже на ошибку в git. Так что теперь я вручную отменю изменения some/unrelated/file.txt и добавлю их в file.h.
rebase
мог бы сделать то же самое намного проще. - person D-side   schedule 23.06.2015