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

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

211
задан Dogbert 08 янв. '11 в 0:09
источник поделиться

2 ответов

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

git reset HEAD --hard

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

git clean -fd
394
ответ дан Benjamin Bannier 08 янв. '11 в 0:10
источник поделиться

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

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

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

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

    git clean -fd
    

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

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

    git clean -fdx
    

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

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

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

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

25
ответ дан Ortomala Lokni 30 окт. '16 в 18:54
источник поделиться

Другие вопросы по меткам