Разница между discard и revert в системах контроля версий заключается в том, что discard отменяет локальные изменения, а revert — отменяет уже совершённые коммиты. 12
Discard позволяет восстановить проект до последнего совершённого состояния, если локальные изменения ещё не были сохранены в репозитории. 13
Revert создаёт новый коммит, который содержит противоположные изменения, по сути отменяя эффект предыдущих изменений. 1 Например, если в определённом коммите было удалено несколько строк, при реверсии создаётся новый коммит, который добавляет эти строки обратно. 1
Таким образом, discard применяется к локальным изменениям, а revert — к уже совершённым коммитам.