2016-05-16 2 views
0

У меня есть репо в git, в котором я начал работать в новой ветке, чтобы разработать функцию. Когда это было сделано на полпути, я заметил ошибку, которую я включил. Но вместо того, чтобы компилировать исправление для освоения и перезагрузки ветви разработки, я отправился в ветку разработки. Это случалось несколько раз подряд, и теперь я осознаю свою ошибку.Разделительная ветвь в двух ветвях/Слияние ветви выборочно

Я хочу сделать еще одно исправление по master, но исправление зависит от предыдущих исправлений, и я не могу полностью объединить ветвь разработки, поскольку есть тонна непроверенных изменений.

Итак, вот мой вопрос: как я могу объединить только те коммиты, в том числе исправления для мастеров, оставив непроверенные коммиты в ветке разработки?

Чтобы быть более конкретным, коммиты, которые я хочу объединить, и те, которые я хочу сохранить в другой ветке, интеркалируются.

Графический, мой репо выглядит следующим образом, где Н исправления и D непроверенные фиксации:

devbranch  D1 - H1 - D2 - H2 
      /
master A - B 

И я хочу, чтобы она выглядела так:

devbranch    D1 - D2 
        /
master A - B - H1 - H2 

ответ

1

Вишневых выбрать коммиты вы хотите для освоения, а затем переустановите свою ветку свойств на новый мастер.

git checkout master 
git cherry-pick H1 
git cherry-pick H2 
git checkout devbranch 
git rebase master 
+0

Не выбрал бы вишню оставить копии H1 и H2 в devbranch? – Jsevillamol

+1

@ Jsevillamol: Это было бы, но они исчезнут в rebase. – choroba

Смежные вопросы