Найти все коммиты зависимостей в Git
вступление
Я использую Git для контроля исправлений, доставляемых в производство.
Когда команда разработчиков хочет внести некоторые изменения в рабочую среду, они создают пакет файлов, называемый исправлением, и отправляют в производственную группу. Исправление обозначается его идентификатором, таким как HF1, HF2, ..., HF6
,
Производственная группа отвечает за проверку каждого исправления и подтверждение его развертывания на производстве, мы пытаемся использовать git для отслеживания состояния этих исправлений, предположим, что наша история мерзавцев была похожа на
O-HF1-HF2-HF3 (production)
\-HF4-HF5-HF6-HF7-HF8-HF9 (delivery)
где production
филиал имеет все исправления, которые были подтверждены к производству и delivery
В филиале есть остальные исправления, поставленные командой разработчиков, но не подтвержденные к производству.
Теперь предположим, что HF8 имеет изменение, доставленное как SomeJavaClass.class
и нам необходимо срочно развернуть это исправление в рабочей среде, пока мы еще не закончили рассмотрение HF4 - HF7. Мы сделали бы следующее
с помощью
git rebase -i HF3
и переупорядочить ветку доставки так, чтобы HF8 стал первым элементом рядом с HF3обычно это приводит к конфликту, поскольку в HF4 - HF7 будут некоторые файлы, в которых есть изменения, от которых зависит HF8. Мы должны найти все такие исправления и перебазировать их вместе. Например, предположим, что HF5 и HF7 также изменили
SomeJavaClass.class
и, следовательно, являются зависимостями HF8, мы бы перебазировали историю вO-HF1-HF2-HF3 (production) \-HF5-HF7-HF8-HF4-HF6-HF9 (delivery)
сливаться
production
ветвь к HF8O-HF1-HF2-HF3-HF5-HF7-HF8 (production) \-HF4-HF6-HF9 (delivery)
Вопрос
Есть ли команда git, которая помогает мне найти все исправления между HF4 - HF7, которые являются зависимостью от HF8, перед выполнением ребазинга?
Примечание. Моя цель - разработать сценарий оболочки, который с учетом HFX в качестве входных данных выполняет перебазирование и объединение HFX и всех его исправлений зависимостей в delivery
филиал в production
ветка.