Могу ли я добавить файл.gitignore только для меня, который переопределяет проект.gitignore?

Я использую Git в Android Studio на компьютере с OS X, и я хотел бы иметь личный .gitignore файл, который переопределяет .gitignore которые в проекте (я хочу, чтобы мой игнорировать .iml файлы). Можно ли это сделать и как?

Я пытался создать .gitignore файл в моем домашнем каталоге со следующими строками в:

# Android Studio
.*.iml
*.iml

И я использовал эту команду, чтобы git использовал мой файл git config --global core.excludesfile ~/.gitignore, Но это не работает.

Есть идеи?

1 ответ

Решение

Вместо создания нового .gitignore файл, вы должны использовать .git/info/exclude файл для настройки игнорировать правила, специфичные для вашего клона репо.

Итак, в основном, перейдите в корневой каталог вашего проекта и запустите

cd $PROJECT_ROOT
echo "*.iml" >> .git/info/exclude

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

Кроме того, это дополняет существующие правила игнорирования в .gitignore и игнорировать правила .gitignore все еще будет применяться.


Кажется, вы уже отслеживаете .iml файлы в вашем репозитории Git, так что вы можете попробовать удалить их из Git, используя

git rm -r *.iml
git commit -m "removed *.iml"

Обратите внимание, что это также приведет к удалению их из главного репозитория, как только вы сделаете push.

В противном случае вы можете использовать git update-index --assume-unchanged <filename> игнорировать изменения этих файлов локально. А после этого правила gitignore должны работать нормально.

Другие вопросы по тегам