Reset все изменения после последнего фиксации в git

Как я могу отменить все изменения, внесенные в мой каталог после последнего коммита, включая удаление добавленных файлов, сброс измененных файлов и добавление удаленных файлов?

Ответ 1

Сначала reset изменения

git reset HEAD --hard

тогда очистите все, что не видно. Если вы хотите сохранить файлы, которые не отслеживаются из-за .gitignore, будьте осторожны с этой командой.

git clean -fd

Ответ 2

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

  1. Вы можете отменить изменения в отслеживаемых файлах с помощью:

    git reset HEAD --hard
    
  2. Вы можете удалить неотслеживаемые файлы с помощью:

    git clean -f
    
  3. Вы можете удалить неотслеживаемые файлы и каталоги с помощью:

    git clean -fd
    

    но вы не можете отменить переход на неотслеживаемые файлы.

  4. Вы можете удалить игнорируемые и неотслеживаемые файлы и каталоги

    git clean -fdx
    

    но вы не можете отменить переход на игнорируемые файлы.

Вы также можете установить clean.requireForce на false:

git config --global --add clean.requireForce false

избегать использования -f (--force) при использовании git clean.

Ответ 3

В этой ситуации будут работать две команды,

root> git reset --hard HEAD ~ 1

root> git push -f

Подробнее о командах git см. на этой странице page