Предположим, что у вас есть такая история
---o---o---o---M---W---x-------x-------*
/
---A---B
Где A, B не удалось выполнить, а W - вернуть M
Итак, прежде чем я начну исправлять найденные проблемы, выберите W commit моей ветви
git cherry-pick -x W
Затем я вернусь к W commit на моей ветке
git revert W
После того, как я смогу продолжить исправление.
Последняя история может выглядеть так:
---o---o---o---M---W---x-------x-------*
/ /
---A---B---W---W`----------C---D
Когда я отправляю PR, это ясно показывает, что PR отменяет возврат и добавляет новые коммиты.