Как остановить закрывающий запрос с помощью неотправленных коммитов?
Может ли кто-нибудь предложить способ остановки / информирования пользователя о том, что на github есть ветка с открытым запросом на ветку, которую он пытается удалить?
В настоящее время мы используем следующие ветви master
,rc
,hotfix
а также prod
представлять различные среды. Когда у нас есть hotfix
ветвь, которую мы хотим продвигать prod
мы удаляем prod
ветвь и сила толкать hotfix
филиал в том месте, где он был построен. Как правило, это будет работать, как ожидалось. Однако в примере, который я подвергаю сомнению, у нас были случаи, когда мы hotfix
на производство с частичным набором изменений (HEAD
из hotfix
ветка не то что разворачивается. И в некоторых случаях они все еще ожидают пересмотра кода в виде запроса на получение дополнительной выдающейся работы.
То, что я ищу, это способ информирования пользователя, когда он пытается удалить ветку исправления, что HEAD
это было не то, что мы развернули в производство, и что более важно, что есть выдающиеся запросы на слияние.
У нас есть запрос на автоматическое закрытие ни по какой причине, кроме удаленной ветви, когда это не нужно и нужно будет просто создать заново из prod
филиал и запрос возобновлен. Это связано с тем, что в нашем рабочем процессе git мы удаляем эти ветви, как описано выше, но в идеале они должны оставаться открытыми для завершения запроса на извлечение, а затем выполняется последующее развертывание, и ветвь удаляется только при отсутствии незавершенной работы.
1 ответ
На какой системе вы работаете? GitHub? копить?
Проблема заключается в следующем: когда вы открываете запрос на извлечение, он прикрепляется к определенной ветви, и изменения "сравниваются" с идентификатором фиксации ветви, над которой вы работали.
Когда вы удаляете ветку, вы удаляете ссылку на "корень" изменений, поэтому git не имеет ни малейшего понятия, с чем ее сравнивать. Ваши изменения сохраняются в той ветке, которую вы указали в запросе на включение. Теперь, когда вы удалили ветку, вы удалите изменения. Вы не можете ожидать, что git "узнает", что вы хотите, чтобы он сохранил изменения для вас.
Подводя итог: Источником запроса извлечения является ветвь с внесенными вами изменениями. удаляя ветку, вы удаляете свои изменения, и вы не можете ожидать, что git сохранит их для будущего использования.