В корне моего проекта есть 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 ниже (хотя я бы просто сделал это для файла, а не для всей папки). Это (а) удалит файл из Git, (б) сохранит файл в вашей локальной копии и (в) приведет к удалению файла, когда другие fetchили pullновая фиксация.
git add -f ignored-fileдобавит файл, даже если он у вас игнорируется.