Как рекурсивно игнорировать все скрытые каталоги/файлы в репозитории git?

Я бы хотел, чтобы Git игнорировал все скрытые файлы и каталоги. то есть

  • .aptitude
  • .ssh/
  • .bash_rc
  • config/.hidden

Есть ли простое правило, чтобы охватить это без конкретного добавления каждой записи?

Ответ 1

Просто добавьте шаблон в .gitignore

.*
!/.gitignore

Изменить: Добавлен сам файл .gitignore (если он еще не выполнен).

Ответ 2

.gitignore будет работать только с файлами, которые еще не были добавлены.

Чтобы новые записи .gitignore влияли на все файлы

  • Внесите изменения в .gitignore
  • git commit -a -m "Pre .gitignore changes"
  • git rm -r --cached .
  • git add .
  • git commit -a -m "Post .gitignore changes"
  • git status должен выводить "ничего не зафиксировать (рабочий каталог чист)" `

Ответ 3

В .git/info/exclude добавьте эту строку:

.*

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