git - Переопределить .gitignore репо глобальным .gitignore (для машины) - PullRequest
0 голосов
/ 16 октября 2019

Например, у нас есть локальный репозиторий с содержимым .gitignore:

/.env.*.local
/public/bundles/
/var/
/vendor/

и глобальным .gitignore из git config:

.idea/
setup_done.lock

Как мы видим в моем глобальном.gitignore мы проигнорировали каталог .idea/, но репозиторий поставляется с этим каталогом, и когда я работаю в моей среде IDE, он вносит изменения в эти файлы и хочет зафиксировать их.
Можно ли "жестко переопределить" репо.gitignore и не отслеживать изменения в каталоге .idea/?

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Нет способа заставить Git игнорировать изменения в отслеживаемых файлах. Некоторые люди скажут вам использовать флаги --assume-unchanged или --skip-worktree для git update-index, но они не работают во всех случаях, не предназначены для этой цели и не поддерживаются для этого в восходящем направлении.

Как правило, файлы конфигурации для определенных редакторов не относятся к управлению версиями, поскольку пользователи будут использовать разные конфигурации. Лучший способ справиться с этим - удалить каталог .idea из управления версиями и использовать статическую, независимую от редактора конфигурацию, такую ​​как файлы .editorconfig. Как только вы сделаете это (например, с git rm --cached .idea), ваш gitignore будет принят, поскольку Git больше не будет отслеживать конфигурацию.

0 голосов
/ 16 октября 2019

Вы можете сделать это, предполагая, что никакие файлы не добавляются / удаляются и нет подкаталогов ( source ):

git update-index --assume-unchanged .idea/*

Однако, обязательно прочитайте и поймите Документация IDEA о том, что делать с .idea.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...