При использовании git существует ли простой способ при возврате, удалить файлы, которые не были добавлены в хранилище с момента последнего коммита? - PullRequest
1 голос
/ 07 апреля 2011

Я хотел бы знать, есть ли простой (встроенный) способ возврата к старой фиксации удаления всех файлов, которые были созданы после этой фиксации, даже если они не были добавлены в хранилище.

Допустим, у меня есть каталог D, и я сделал коммит C over D.Если я сейчас добавлю в каталог D новый файл F и захочу вернуться, то сделайте C, F не будет удален из каталога.

Есть ли простой способ предотвратить это?поведение?

1 Ответ

2 голосов
/ 07 апреля 2011

Я немного смущен вашим примером, но эта команда:

git clean -xdf <directory>

удалит все неотслеживаемые и игнорируемые файлы и подкаталоги из <directory>. (Убедитесь, что вы действительно это имеете в виду!) -x позволяет удалять игнорируемые файлы, а -d - удалять каталоги - удаляйте их, если вы не хотите этого делать. -f требуется для того, чтобы он что-либо делал, так как это очень страшно - вы также можете использовать -n для «пробного запуска».

В сочетании с git reset --hard это можно использовать для получения точно состояния текущего коммита.

Нет способа заставить Git делать это автоматически, так как это было бы ужасно - вы можете забыть зафиксировать файл, а затем уничтожить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...