Предполагая, что я являюсь сопровождающим репо и хочу получить изменения от участника, существует несколько возможных рабочих процессов:
- Я
cherry-pick
каждый фиксирую с пульта (по порядку). В этом случае git записывает коммит как не связанный с удаленной веткой. - Я
merge
ветвился, вытягивая все изменения и добавляя новый «конфликтный» коммит (при необходимости). - Я
merge
каждая фиксация с удаленным филиала в отдельности (опять - таки в порядке), что позволяет конфликты должны быть записаны для каждого коммита, а не сгруппированы вместе как единое целое. - Для полноты вы можете сделать
rebase
(то же самое, чтоcherry-pick
опция?), Однако, насколько я понимаю, это может привести к путанице для участника. Может быть, это исключает вариант 1.
В обоих случаях 2 и 3 git записывает историю ветвлений коммитов, в отличие от 1.
Каковы плюсы и минусы между использованием одного cherry-pick
или merge
описанных методов? Насколько я понимаю, метод 2 является нормой, но я чувствую, что разрешение большого коммита с помощью одного «конфликтного» слияния - не самое чистое решение.