#git #scripting #git-rebase
#git #сценарии #git-перебазирование
Вопрос:
Я кодирую несколько сценариев, которые выполняют перебазирование git, и мне нужно определить, когда произошел конфликт.
Git-rebase завершается с одинаковым статусом выхода для каждой ошибки, поэтому я не могу использовать его статус выхода для обнаружения конфликта. Каталог с именем rebase-apply
создается при конфликтах, но, похоже, это деталь реализации, на которую я не могу полагаться (например, в прошлом у каталога было другое имя).
Есть ли надежный способ обнаружить, что перебазирование git завершилось конфликтом?
Ответ №1:
Ну, я только что понял, что могу запустить git status --porcelain
и проверить, есть ли какой-либо файл с «U» в его статусе.
Ответ №2:
Вместо перебазирования скриптов, script git выбирает все коммиты в диапазоне вместо этого. Это то, что rebase в любом случае делает под капотом. Если есть конфликты, вы можете предпринять соответствующие действия.
Надеюсь, это поможет