Обнаружение конфликта на git rebase - PullRequest
5 голосов
/ 11 мая 2011

Я пишу некоторые сценарии, которые выполняют git-rebase и должны определить, когда произошел конфликт.

Git-rebase завершается с тем же статусом выхода для каждой ошибки, поэтому я не могу использовать его выходстатус для обнаружения конфликта.Каталог с именем rebase-apply создается при конфликтах, но, похоже, это деталь реализации, на которую я не могу полагаться (например, в прошлом каталог имел другое имя).

Существует ли надежный способ обнаружить этоgit-rebase завершился конфликтом?

Ответы [ 2 ]

3 голосов
/ 12 мая 2011

Ну, я только что понял, что могу запустить git status --porcelain и проверить, есть ли какой-либо файл с буквой "U" в его статусе.

0 голосов
/ 11 мая 2011

Вместо того, чтобы перебирать сценарии, используйте вместо этого git cherry-pick для всех коммитов в диапазоне. Это то, что ребаз делает в любом случае под капотом. Если есть конфликты, вы можете принять соответствующие меры.

Надеюсь, это поможет

...