Переместите fix-commit из одной ветви в другую, прежде чем объединять их - PullRequest
0 голосов
/ 23 мая 2018

Работая над неполной веткой feature Я уже зафиксировал Fix для master.

(master)    A-B-C
(feature)        \_D-E-Fix-G-H

Как мне получить Fix коммит на master, ...

(master)    A-B-C------Fix'
(feature)        \_D-E-Fix-G-H

... но все еще в состоянии объединить / перебазировать мою ветку feature на master?

(master)    A-B-C-D-E-Fix-G-H

Я полагаю, Fix' должен поддерживать тот же SHA, что и Fix для того, чтобы не было видно совершенно другого коммита и плавно объединяться / перебазироваться (поэтому cherry-pick, который я обычно использую, здесь не поможет).Так что, возможно, это невозможно, но мне любопытно, есть ли какой-нибудь способ поделиться некоторыми временными исправлениями из ветви с другой веткой, и все же иметь возможность объединить оставшиеся пропущенные коммиты позже.

My feature филиал только локальный.Естественно, я хочу избежать переписывания истории.

1 Ответ

0 голосов
/ 23 мая 2018

Если коммит Fix выбирается вишней, то он не зависит от D и E, поэтому вы можете git rebase -i C и изменить порядок своей истории, чтобы поставить Fix позади D.

Тогда было бы легко объединить ветвь функций обратно в мастер.

(master)    A-B-C--Fix'
(feature)        \_Fix-D-E-G-H

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

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