Як уже було сказано, для виключення зі статусу просто використовуйте:
git status -uno # must be "-uno" , not "-u no"
Якщо ви хочете назавжди ігнорувати неперевірені файли, котрі ви можете виконувати з кореня свого проекту:
git status --porcelain | grep '^??' | cut -c4- >> .gitignore
Кожен наступний дзвінок до git statusявно ігнорує ці файли.
ОНОВЛЕННЯ : наведена вище команда має незначний недолік: якщо у вас ще немає .gitignoreфайлу, ваш gitignore проігнорує себе! Це відбувається тому, що файл .gitignoreстворюється до того, як git status --porcelainбуде виконано. Тож якщо у вас ще немає .gitignoreфайлу, рекомендую використовувати:
echo "$(git status --porcelain | grep '^??' | cut -c4-)" > .gitignore
Це створює підзарядку, яка завершується до створення .gitignoreфайлу.
КОМАНДА ПОЯСНЕННЯ, оскільки я набираю багато голосів (дякую!) Я думаю, що краще пояснити команду трохи:
git status --porcelainвикористовується замість того, git status --shortщо в посібнику зазначено "Надати вихід у простому для розбору форматі для сценаріїв. Це схоже на короткий вихід, але залишатиметься стабільним у версіях git та незалежно від конфігурації користувача." Таким чином, ми маємо як розбірливість, так і стабільність;
grep '^??'фільтрує лише рядки, починаючи з ??яких, відповідно до посібника зі статусу git , відповідають файлам, що не відслідковуються;
cut -c4- видаляє перші 3 символи кожного рядка, що дає нам лише відносний шлях до файлу, що не відслідковується;
- ці
|символи є трубами , які проходять висновок попередньої команди на вхід наступної команди;
>>і >символи переадресація оператори , які додають висновок попередньої команди в файл або переписує / створює новий файл, відповідно.
ДРУГИЙ ВАРІАНТ для тих , хто вважає за краще , використовуючиsed замість grepі cut, ось ще один спосіб:
git status --porcelain | sed -n -e 's/^?? //p' >> .gitignore