Могу ли я создать локальную версию .gitignore, которая применяется только к моему локальному репозиторию?

#gitignore

#gitignore

Вопрос:

В удаленном репозитории git для моего проекта есть некоторые файлы / каталоги, которые мне не нужны в моем локальном репозитории. Они полезны для других участников проекта, но не для меня. И я не могу просто идентифицировать их в корневом файле .gitignore, потому что, когда этот файл становится частью удаленного репозитория, он становится правилом для всех остальных, поэтому они меняют его обратно. Мы не хотим ввязываться в войну .gitignore. Есть ли простой способ для меня одного выборочно выбирать файлы / каталоги, которыми я хочу или не хочу обмениваться между удаленным репозиторием и моим локальным репозиторием, когда я выполняю ‘git pull’? Чтобы было ясно, я хотел бы сделать свои выборы один раз и заставить их вступать в силу каждый раз, когда я выполняю ‘git pull’ (или эквивалент), а не навязывать их кому-либо еще.

Комментарии:

1. Да, есть файл, .git/info/exclude который может действовать как частная версия .gitignore .

2. .gitignore не применяется к файлам, которые уже отслеживаются.

3. Я не думаю, что .git/info/exclude исключает файлы, поступающие ИЗ источника / восходящего потока

4. Я понимаю, как и Андреас, что .git/info /exclude применяется только к файлам / каталогам, идущим в другом направлении. То есть с его помощью вы можете идентифицировать локальные файлы, которые вы не хотите включать в удаленный репозиторий. Не наоборот, это то, что я ищу.

Ответ №1:

Вы можете добавить .gitignore в свой файл .gitignore. Затем вы запускаете rm .gitignore, и он больше не отслеживается. Затем просто удалите другие файлы, которые вы не хотите отслеживать.

Комментарии:

1. Это похоже на работоспособное решение, хотя оно немного противоречит духу git как поддержания общего рабочего пространства. Сказав это, вы могли бы утверждать, что мой запрос является аналогичным нарушением, но в несколько меньшей степени.