Видалення файлів, що не містять сховища, за допомогою git?


97

Я пишу код Autotools і в процесі розробки утворюються тонни файлів.

Чи все-таки потрібно сказати git видалити всі файли з каталогу, які не входять до сховища?

Відповіді:


178

Ви можете використовувати git-clean . Ця команда видалить невідстежені файли / каталоги. За замовчуванням він надрукує лише те, що було б видалено, не фактично видаляючи їх.

Дано -fпрапор для видалення файлів, а також -dпрапор для видалення порожніх каталогів:

git clean -df

Також видалення проігнорованих файлів:

git clean -dfx

36
Киньте в a, -xі це все так добре, як свіжо клонований репо.
Дастін

2
Я думав, що він мав на увазі видалити файли з git, а не фактичну файлову систему!
Ендрю Маршалл,

Команда git cleanсама по собі фактично видалить усі файли, що не відслідковуються, за винятком випадків, коли для конфігураційної змінної Git clean.requireForce встановлено значення true. Якщо його встановлено на значення false, тоді -ff потрібен для очищення каталогів
Адам

6
Останні версії git помиляться без будь-яких параметрів; requireForce по замовчуванням вірно, так що робити DRYRUN вам потрібно -n
Seb

1
наступні дії на @Dustin: git clean -ixпокаже, що воно буде очищати, і надасть меню параметрів. Мій улюблений.
wcochran
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.