У корені мого проекту у мене 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
додасть файл, навіть якщо він знаходиться у ваших ігнорах.