Почему .gitignore не игнорирует мои файлы?

См. изображение ниже. Мой файл .gitignore должен игнорировать все файлы в src/dist, но это не так.

введите описание изображения здесь

Ответ 1

.gitignore только игнорирует файлы, которые еще не являются частью репозитория. Если вы уже git add редактировали некоторые файлы, их изменения все равно будут отслеживаться. Чтобы удалить эти файлы из вашего репозитория (но не из вашей файловой системы), используйте git rm --cached для них.

Ответ 2

gitignore игнорирует только несохраненные файлы. Ваши файлы отмечены как измененные - это означает, что они были зафиксированы, а прошлое, и теперь их отслеживает git.

Чтобы игнорировать их, сначала нужно удалить их, git rm их, зафиксировать и затем проигнорировать их.

Ответ 3

Файл.gitignore гарантирует, что файлы, не отслеживаемые Git, остаются без следа.

Просто добавление папок/файлов в файл.gitignore не приведет к их устранению - они будут отслеживаться Git.

Чтобы отследить файлы, необходимо удалить из репозитория отслеживаемые файлы, перечисленные в файле.gitignore. Затем добавьте их и внесите изменения.

Самый простой, самый полный способ сделать это - удалить и кешировать все файлы в репозитории, а затем добавить их обратно. Все папки/файлы, перечисленные в файле.gitignore, не будут отслеживаться. В верхней папке в хранилище выполните следующие команды:

git rm -r --cached. git add.

Затем выполните свои изменения:

git commit -m "Untrack files in.gitignore"

Обратите внимание, что любые предыдущие фиксации с нежелательными файлами остаются в истории фиксации. При нажатии на GitHub следует знать историю фиксации, которая может содержать .env или client_secret.json.

Лучшей практикой является создание файла.gitignore и заполнение его папками/файлами, которые вы не хотите отслеживать при запуске проекта. Однако часто необходимо добавить в файл.gitignore после того, как вы узнаете, что нежелательные файлы отслеживаются и сохраняются.

Ответ 4

Посмотрите на это: .gitignore не работает. И, в частности, замечание от ADTC:

Убедитесь, что ваш файл.gitignore использует кодировку ANSI или UTF-8. Если он использует что-то вроде Unicode BOM, возможно, Git не может прочитать файл. - ADTC Dec 14 '17 в 12:39