Как я могу отменить все изменения, внесенные в мой каталог после последней фиксации, включая удаление добавленных файлов, сброс измененных файлов и добавление обратно удаленных файлов?
Как я могу отменить все изменения, внесенные в мой каталог после последней фиксации, включая удаление добавленных файлов, сброс измененных файлов и добавление обратно удаленных файлов?
Ответы:
Сначала сбросьте изменения
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
не имеет отношения к вопросу и, в этом случае, опасно