У корені мого проекту у мене fooпапка. Всередині fooпапки я маю barпапку. Я хотів би ігнорувати всі зміни всіх файлів у моїй barпапці. У мене це є gitignore:
/foo/bar
Папка перевірена: вона існує, і в ній є файли, які слід ігнорувати. gitignoreє commitтед. Однак у мене є файл, де я роблю мотивацію і знаходиться всередині моєї barпапки. Коли я друкую
git status
всередині мого git bashя бачу файл, який повинен був бути проігнорований. Що може бути причиною і як я можу успішно проігнорувати всі файли всередині моєї папки?
Зауважте, що файли попередньо ігнорувались тим самим рядком, але мені довелося тимчасово видалити цей рядок на commitщось на сервері. Після цього commitя поверну рядок у gitignore. Це було деякий час тому, але зараз я помітив, що файли будуть в git status. Я сподіваюся, що зможу змінювати ігноровані файли без їх появи у git status.
git status foo/bar/file-that-should-be-ignoredдає?
git log foo/bar/file-that-should-be-ignored. Якщо він не повинен бути частиною сховища, слід видалити його, git rm --cached foo/bar/file-that-should-be-ignoredа потім виконати так, як запропонував Reck нижче (хоча я б просто це зробив у файлі, а не у всій папці). Це (a) видалить файл із Git, (b) збереже файл у вашій локальній копії та (c) призведе до видалення файлу, коли інші fetchчи pullнові зобов’язання виконуватимуть.
git add -f ignored-fileдодасть файл, навіть якщо він знаходиться у ваших ігнорах.