Как слить обратно выбранные вишни коммиты в git?

У меня есть 2 основные ветви master а также development, Недавно мне пришлось нажать исправление, которое коммиты уже объединены developmentи для этого я выбрал вишню development, создал новую ветку исправлений, добавил еще один коммит для исправления и объединил его в master, У меня вопрос, как я могу теперь объединить новый коммит development не испортить историю мерзавцев?

Грубо говоря, что я сделал:

git cherry-pick <commit SHA>
git checkout -b hotfix-branch
[make more changes]
git commit -m "Fix issue"
git checkout master
git merge hotfix-branch

Теперь, если я посмотрю на git diff между master а также development, старый направляет из development появляется, потому что они выбраны, поэтому разные коммиты с одинаковыми изменениями. Каков наилучший способ слиться с development и "исправить" эти различия?

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

0 ответов

Вам нужно выбрать исправление "вниз" по дереву истории, чтобы позже вы могли аккуратно объединить его "вверх" с другими ветвями.

  1. Проверьте базу слияния (обычно, иногда дальше по дереву).
  2. Вишня A приводит к новой фиксации X.
  3. Объединить X обратно к обеим веткам.

После этого в обеих ветках будет X в общем, что означает, что они оба содержат исправление.

Другие вопросы по тегам