Могу ли я создать файл gitignore для конкретного пользователя?

112

Я хочу изменить gitignore, но не все в команде хотят этих изменений. Как у пользователя может быть свой собственный файл игнорирования git?

asdsadasds
источник

Ответы:

93

Для игнорирования файла, специфичного для пользователя и конкретного репо, вы должны заполнить следующий файл:

$ GIT_DIR / info / exclude

Обычно $ GIT_DIR означает:

ваш_путь_репо / .git /

grzuy
источник
5
Для тех , кто путать о пути: your_repo/.git/info/exclude. Файл отформатирован как стандартный файл .gitignore .
Stevoisiak 07
3
Если ваш файл уже содержит неустановленные изменения, вам может потребоваться запустить git update-index --skip-worktree [<file>...](из hashrocket.com/blog/posts/… )
Даниэль Оливарес
118

Вы можете создать свой собственный .gitignore, используя

git config --global core.excludesfile $HOME/.gitignore

Затем поместите желаемые записи в этот файл.

Дэйв Кинкейд
источник
16
Если вы не хотите, чтобы он был глобальным, вы можете поместить свой .user_gitignoreфайл в .gitкаталог репо и добавить его с помощьюgit config core.excludesfile .git/.user_gitignore
orad
6
Совет от Тима Поупа : используйте, ~/.cvsignoreпотому что такие утилиты, как rsync, также будут использовать этот файл.
Питер Ринкер, 06
4
@orad Я думаю, что ваш комментарий заслуживает отдельного ответа.
Stevoisiak 07
Примите во внимание , что / предложение Дэйва Орад перезапишут значение по умолчанию , core.excludesfileуказывающий на ваш глобальный файл игнорировать то есть: ~/.gitignore. Если вы хотите сохранить глобальные исключения и также иметь исключения для конкретных репозиториев, ответ @ grzuy - это правильный путь
sgimeno 01
1
Я, должно быть, что-то упускаю. Я выполнил эту команду, но ~/.gitignoreфайла не было, поэтому я создал его. Я поставил ровно одну запись: knexfile.jsи когда я возвращаюсь в репо и запускаю, git statusя все еще сохраняю файл в списке изменений.
anon58192932
34

В их .gitconfig:

[core]
    excludesfile = ~/.global_gitignore

Таким образом, они могут глобально игнорировать определенные типы файлов. У каждого пользователя может быть свой собственный глобальный файл игнорирования.

Рэйф Кеттлер
источник
1
Вы можете получить доступ .gitconfig, запустив git config --local -eрепо, которое хотите
Питер Грэм,
6

Например, вы хотите игнорировать ~/some/path/.ideaпапку:

# 1. Add .idea to user specific gitignore file
echo .idea > ~/.gitignore

# 2. Add gitignore file to gitconfig
git config --global core.excludesfile ~/.gitignore
Сергей Жигалов
источник
3

Как указано в руководстве Atlassian .gitignore , вы также можете использовать <repo>/.git/info/excludeфайл своего репо, который вы можете легко редактировать с помощью любого текстового редактора. Работает так же, как .gitignore.

Я мог легко игнорировать свои файлы intelliJ, личные файлы докеров и прочее, с которым мне нужно работать.

obscure18
источник