Отменить указанные c git коммиты и все последующие коммиты, которые зависят от них - PullRequest
1 голос
/ 07 мая 2020

Я бы хотел отменить каждую фиксацию K тогда и только тогда, когда:

  • K - одно из двух определенных c коммитов Я хочу отменить
  • или K зависит на одном или нескольких из этих коммитов я хочу отменить

Для фона я хотел бы иметь локальную копию Flutter, которая отменяет эти изменения .

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете определить, является ли один коммит (один из двух, который вы хотите отменить) является предком другого

git merge-base --is-ancestor <maybe-ancestor-commit> <descendant-commit>

Итак, перечислите все коммиты каждой ветки и:

  • если ни один из ваших 2 коммитов не является предком ветки HEAD, отбросьте ветку
  • если они есть, начните перечисление фиксации из этой ветки

Вы можете рассмотрите возможность мягкого сброса этой ветки до тех пор, пока эти коммиты не выполняются: индекс будет в желаемом состоянии: вы можете добавить и зафиксировать этот индекс как одну новую фиксацию, которая отменит все, что было сделано после этих коммитов (предки данной ветки)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...