ИСТОЧНИК: https://git -scm.com / book / en / v2 / Distributed-Git-Maintenance-a-Project # Integrating-Contributed-Work
Другой способПереместить введённую работу из одной ветки в другую - это вишня подобрать.Вишня в Git подобна перебазировке за один коммит.Он берет патч, который был введен в коммите, и пытается повторно применить его в ветке, в которой вы находитесь.Это полезно, если у вас есть несколько коммитов в ветке темы, и вы хотите интегрировать только один из них, или если у вас есть только один коммит в ветке темы, и вы предпочитаете выбрать его, а не запускать rebase.Например, предположим, что у вас есть проект, который выглядит следующим образом:
Если вы хотите добавить commit e43a6 в вашу основную ветку, вы можете запустить
$ git cherry-pick e43a6
Finished one cherry-pick.
[master]: created a0a41a9: "More friendly message when locking the index fails."
3 files changed, 17 insertions(+), 3 deletions(-)
Это приводит к тому же изменению, которое было внесено в e43a6, но вы получаете новое значение SHA-1 для коммита, потому что применяемая дата отличается.Теперь ваша история выглядит следующим образом:
Теперь вы можете удалить ветку своей темы и удалить коммиты, которые вы не хотели вставлять.