Як ви показуєте git показувати відслідковувані файли, які не існують у .gitignore


167

Я використовую, git status -uщоб показувати незаймані файли. І на терміналі я бачу безліч непотрібних файлів, які мені потрібно відстежувати, такі як тести одиниць, особиста документація тощо. Я вклав їх .gitignore, але, здається, вони git statusвсе ще показують їх.

Як ви показуєте лише відслідковувані файли, які не існують у .gitignore.


11
якщо відслідковувані файли відображаються у статусі git, вони не ігнорують .gitignore належним чином. чи можете ви показати вам структуру робочого каталогу та вміст .gitignore?
макс

7
Погодьтеся з @max, це має працювати. Ось дивна здогадка: якщо ви працюєте в Windows, пам’ятайте, що .gitignore, на відміну від Windows, залежить від регістру. Тож якщо ви ігноруєте * .txt і на диску є Test.TXT, він не буде ігнорований.
Джо Уайт

Відповіді:


268

Ви можете чітко перелічити те, що відслідковується і не відстежується, як показано нижче, щоб побачити, чи Git бачить і шанує вашу .gitignore. Якщо ви опублікуєте свій .gitignoreвміст, git statusвихід та dirчи lsми можемо вам краще допомогти.

Список ігнорованих файлів

$ git ls-files . --ignored --exclude-standard --others

Перелічіть незатребувані файли

$ git ls-files . --exclude-standard --others

3
Якщо ви бачите файли, які, на вашу думку, не знаходилися у вашому .gitignore, у вашому проекті може бути прихований ще один. Витягніть це з `знахідкою. -назви .gitignore`.
jpadvo

@ matthew-mccullough Чудова відповідь! Я додам кілька псевдонімів за ці подяки! @jpadvo Чи можете ви навести приклад використання для findметоду?
лакостенікодер

Якщо ви хочете короткого списку, скажіть, що ви ігноруєте node_modules і не хочете бачити все дерево, додайте, --directoryщоб надрукувалася лише папка верхнього рівня, яка ігнорується (це ближче до статусу git).
Генрі Блайт

2
Щоб було зрозуміло, git ls-files --others --exclude-standard --ignoredперераховані відслідковувані файли, які git ls-files --others --exclude-standardне відслідковуються , і відслідковуються неігноровані файли . Детальніше про це тут .
x-yuri

1
Зауважте, що за замовчуванням git ls-files --othersне вказані порожні каталоги. Для списку порожніх каталогів додайте --directoryопцію. Це не очевидно зі сторінки man, але це можна зробити. --directory: Якщо весь каталог класифікований як "інший", вкажіть лише його назву (з косою косою рисою), а не весь вміст. . --no-empty-directory: Не перераховуйте порожні каталоги. Не має ефекту без --довідника.
катаман


-6

Використання:

git config status.showuntrackedfiles no 

На поточну версію git, яку я отримую, error: Invalid untracked files mode 'yes'я намагаюся використовувати це.
Майк

1
Можливі значення no, normal, all. Це пояснено тут: git-scm.com/docs/git-config
Мухаммед Гелбана

4
Це не дає відповіді на запитання.
лакостенікодер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.