1

При выполнении слияния git merge --no-ff develop все предыдущие коммиты ветки develop так же становятся коммитами master-а. Есть ли возможность сделать слияние так, чтобы в мастере были только те коммиты, которыми я делаю слияние?

P.S. Пользуюсь bitbucket-ом и графикой показано все верно, у одной линии 2 точки (видимо, master), у второй несколько (видимо, develop) и она втекает во вторую точку первой линии, но все коммиты помечены и как develop, и как master.

4
  • @Kosterio, у каждого коммита есть вполне конкретный parent, если вы сливаете ветки, то вся разница веток должна появиться в конечной ветке. Есть, конечно, cherry-pick, но мне сдается, вы просто неверно понимаете концепцию git. Ветки - это не более чем указатели на конкретные коммиты, и история ветки не содержится в самой ветке. Больше здесь
    – etki
    1 фев 2015 в 0:03
  • @Etk Концепцию я понимаю. При таком слиянии на сайте пишется правильно, что у него 2 родителя, как и должно быть. По факту мне просто нужно, чтобы при фильтре мастера отображало только 2 коммита
    – Kosterio
    1 фев 2015 в 7:12
  • @Kosterio судя по всему, нет, потому что я уже написал, что ветка не управляет своей историей и что включение одного коммита автоматом включает всех его родителей до тех пор, пока это не делается через cherry-pick, interactive rebase или аналог, которые, насколько понимаю, побьют вам исходный код, если просто выцеплять единичный коммит.
    – etki
    1 фев 2015 в 14:49
  • @Etk Ну теоретически можно после мерджа через ребэйз ветки мастера сделать скваш необходимых коммитов и в мастере будут только нужные коммиты. Но это геморно, и в принципе я понял, что и бесполезно.
    – Kosterio
    1 фев 2015 в 15:20

1 ответ 1

1

Возможно, вы имели в виду git cherry-pick develop. В этом случае слияния не будет, но изменения из последнего коммита из develop применятся. Как и при слиянии, при cherry-pick возможны конфликты.

Таким образом можно избирательно переносить некоторые коммиты из одной ветки в другую. Обычно последующему слиянию такие перенесённые коммиты не мешают.

Применять таким образом можно не обязательно последний коммит из develop. Помимо develop там также может быть, например, полный ID коммита.

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.