У меня есть две ветки Разработка и master. Скажите мастер за разработать ~ 20 коммит. Я хочу объединить только один из коммитов (07f5722) от разработать в мастер. Как я могу это сделать?Git cherry pick commit from branch A to B
How to merge a specific commit in git и How do I merge a specific commit from one branch into another in Git? обе говорят, что используют git cherry-pick
без объяснений относительно того, как вы должны его использовать. Я действительно не следовал примерам с man-страницы.
Я попытался сделать следующее:
git checkout -b merge-07f5722 develop
git cherry-pick 07f5722
Но получил это сообщение о вишневом драфте быть пустым:
On branch merge-07f5722
You are currently cherry-picking commit 07f5722.
nothing to commit, working directory clean
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
If you wish to skip this commit, use:
git reset
Then "git cherry-pick --continue" will resume cherry-picking
the remaining commits.
Ответ на git cherry-pick not working указует, что это означает, что вишневый выбор является no-op без фактических изменений. Хорошо, так как я могу получить изменения?
ПРИМЕЧАНИЕ. Мой вопрос почти идентичен git cherry-pick not working. Тем не менее, я хочу знать, как выполнить то, что я намереваюсь сделать, а не почему команда, которую я попробовал, не удалась.
Последовательность команд мне пришлось использовать было:
git checkout -b merge-07f5722 master
git cherry-pick 07f5722 # commit from develop
git checkout master
git merge merge-07f5722