См. Изображение ниже. Мой файл .gitignore должен игнорировать все файлы в src / dist, но это не так.
Ответы:
.gitignore
игнорирует только файлы, которые еще не являются частью репозитория. Если вы уже git add
редактировали некоторые файлы, их изменения все равно будут отслеживаться. Чтобы удалить эти файлы из репозитория (но не из файловой системы), используйте git rm --cached
их.
Файл .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 после того, как вы поймете, что нежелательные файлы отслеживаются и сохраняются.
git rm -r --cached .
отката все изменения также работают для повторного добавления всех файлов, которые не должны быть исключены с помощью .gitignore .
Посмотрите на это: .gitignore не работает. И, в частности, замечание от ADTC:
Убедитесь, что ваш файл .gitignore использует кодировку ANSI или UTF-8. Если он использует что-то еще, например Unicode BOM, возможно, Git не может прочитать файл. - ADTC 14 декабря '17 в 12:39