У меня есть несколько коммитов в ветке «feature-1», которые являются частью некоторой функции (позволяет назвать ее функцией X). В ветке существует также несколько слияний с мастером, это означает, что функция X может быть распределена между другими коммитами.GIT Как создать патч из не последовательных коммитов
представить себе также, что перебазироваться не использовали, поэтому мы можем иметь что-то вроде:
J - K - L - M - N [master]
\ /(1)
- A - B - C - D - E [Branch feature-1]
Графический Вышесказанное означает, что:
- После фиксации ямайских ветвь была создана функция-1.
- На мастере выполнены некоторые коммиты (K, L, M, N), они могут быть получены из внешних функций.
- В функции ветвления-1 существует три коммитов A, B, C.
- В функции ветвления-1 происходит слияние (1) от ведущего устройства в эту ветвь.
- На ветви функционально 1 существует еще два коммиты, чтобы закончить эту функцию X.
Графически мы имеем:
J - K - L - M - N [master]
\
- A - B - C - K - L - M - N - D - E [Branch feature-1]
Можем ли мы получить совершает A, B, C, D, E из функции -1 в файл патча?
ОБНОВЛЕНИЕ: Существует еще один большое ограничение, изменяет А, В, С, D, Е были объединены также в мастер после совершения E, так что формат патч не может обнаружить, что присутствует на функции-1, который не на хозяине.
Это верно, если функция-1 не была объединена с мастером. Я добавлю обновление в вопрос. – sgroh
@sgroh, в каком направлении произошло слияние? Здесь вы говорите, что 'feature-1' был объединен в' master', но в вопросе вы говорите, что 'master' был объединен в' feature-1'. – Chris
@Chris. Слияние происходит в обоих направлениях сначала в функцию 1 (это приводит к приложению K, L, M, N от мастера). Второй слияние обновляет мастер со всеми изменениями, которые находятся в функции-1, это означает, что после этого хозяин будет содержать все изменения. – sgroh