2013-01-20 5 views
6

Часто я выполняю git reset --hard вместе с git clean -f , чтобы очистить ветку от изменений и файлов сборки. Эта команда удаляет все необработанные файлы, что для меня нормально, но есть несколько файлов, которые я хочу сохранить, например .project или .settings (для eclipse)git reset - игнорирование конкретных неподготовленных файлов

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

ответ

5

Отметьте, что git clean-f должен удалять только те файлы, которые неизвестны git, не игнорируются файлы.

Только git clean -f -x удалили бы проигнорированные файлы.

(во всех случаях git clean -n -... лучше, чтобы иметь предварительный просмотр того, что будут удалены)

Преимущество git reset над git clean в основном о перемещении ГОЛОВУ и сброс индекс, а также работы дерево.
git clean только о рабочем дереве.

4

git reset не будет касаться проигнорированных файлов. Он работает с указателем и индексом HEAD, в основном. Но git clean это зло:

Очищает рабочее дерево рекурсивно удаления файлов, которые не находятся под контролем версий, начиная с текущего каталога.

Таким образом, ответ: не используйте git clean.

Смежные вопросы