Основываясь на великолепном ответе Кэмерона Скиннера, я немного расширю его, чтобы включить случай, когда у вас есть ветвь с несколькими коммитами , возможно, слияния коммитов, возможно, много "шума" и вы хочу выбирать только очень специфические черты (именно это и произошло со мной сегодня)
Выполните следующие действия:
git checkout source-branch
git checkout -b cherry-pick-branch # Gives you a new branch based on source-branch
git reset --mixed master
Это оставит вас с веткой, где все изменения находятся в файловой системе, но ничего не было зафиксировано / поставлено. Затем используйте git add -p
, чтобы выборочно добавить, какие части вы хотите поставить, а затем зафиксировать и нажать как обычно.