В каком случае потребуется git cherry-pick вместо git merge? - PullRequest
5 голосов
/ 09 февраля 2011

Для перемещения человека из одной ветви в другую я понимаю, что в git есть несколько опций. Я экспериментировал с git merge и git cherry-pick, но не вижу, когда git cherry-pick предпочтительнее.

Я понимаю следующее:

git merge <hash> перемещает указанный коммит из одной ветви в другую, сохраняя его как один коммит.

git cherry-pick <hash> создает копию коммита во второй ветви, но она отдельна со своим собственным хэшем коммита.

Первый вариант кажется мне более предпочтительным, но в каких случаях cherry-pick предпочтительнее?

Ответы [ 2 ]

7 голосов
/ 09 февраля 2011

Скажем, у вас есть ветка от master, в которой есть куча коммитов.Возможно, вы внесли соответствующее изменение в master, но не хотите вносить все изменений (например, небольшое исправление ошибки или добавление небольшой функции).С git cherry-pick вы можете получить только тот коммит из другой ветки и перенести его в master.

0 голосов
/ 04 июня 2013

Другой вариант использования - это когда вы теряете коммит и хотите получить его обратно.http://www.programblings.com/2008/06/07/the-illustrated-guide-to-recovering-lost-commits-with-git/

mathieu @ ml recovery (master) $ git cherry-pick 93b0c51cfea8c731aa385109b8e99d19b38a55be Закончен один вишнёвый пик.Создан коммит f443703: теперь, когда было круто, 1 файл изменен, 1 вставка (+), 0 удалений (-), режим создания 100644 cool_file

Вам нужен хеш, конечно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...