Как я могу отменить все изменения, внесенные в мой каталог после последней фиксации, включая удаление добавленных файлов, сброс измененных файлов и добавление обратно удаленных файлов?
Как я могу отменить все изменения, внесенные в мой каталог после последней фиксации, включая удаление добавленных файлов, сброс измененных файлов и добавление обратно удаленных файлов?
Ответы:
Сначала сбросьте изменения
git reset HEAD --hard
затем вычистите все без присмотра. Если вы хотите сохранить файлы, которые не отслеживаются из-за .gitignore, будьте осторожны с этой командой.
git clean -fd
-xопцию git clean, которая также направляет ее на удаление игнорируемых файлов.
git clean -fdкомандой.
git clean -fd, не будут удалять игнорируемые файлы. -xволя.
git clean -fdудалит эти папки и неотслеживаемые файлы. Протестировано с версией git 1.9.1
Как я могу отменить все изменения, внесенные в мой каталог после последней фиксации, включая удаление добавленных файлов, сброс измененных файлов и добавление обратно удаленных файлов?
Вы можете отменить изменения в отслеживаемых файлах с помощью:
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.
Есть две команды, которые будут работать в этой ситуации,
root> git reset --hard HEAD ~ 1
root> git push -f
Для большего количества команд git обратитесь к этой странице
git push -fне имеет отношения к вопросу и, в этом случае, опасно