Найти все коммиты зависимостей в 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. Мы сделали бы следующее

  1. с помощью git rebase -i HF3 и переупорядочить ветку доставки так, чтобы HF8 стал первым элементом рядом с HF3

  2. обычно это приводит к конфликту, поскольку в HF4 - HF7 будут некоторые файлы, в которых есть изменения, от которых зависит HF8. Мы должны найти все такие исправления и перебазировать их вместе. Например, предположим, что HF5 и HF7 также изменили SomeJavaClass.class и, следовательно, являются зависимостями HF8, мы бы перебазировали историю в

    O-HF1-HF2-HF3 (production)
               \-HF5-HF7-HF8-HF4-HF6-HF9 (delivery)
    
  3. сливаться production ветвь к HF8

    O-HF1-HF2-HF3-HF5-HF7-HF8 (production)
                           \-HF4-HF6-HF9 (delivery)
    

Вопрос

Есть ли команда git, которая помогает мне найти все исправления между HF4 - HF7, которые являются зависимостью от HF8, перед выполнением ребазинга?

Примечание. Моя цель - разработать сценарий оболочки, который с учетом HFX в качестве входных данных выполняет перебазирование и объединение HFX и всех его исправлений зависимостей в delivery филиал в production ветка.

0 ответов

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