Где находится файл .gitignore?

357

Принадлежит ли файл .gitignore структуре папок .git где-нибудь или в основных исходных файлах?

mishaF
источник
20
Вы можете иметь .gitignore в каждом каталоге вашего проекта. Однако рекомендуется использовать один файл .gitignore в корневом каталоге проекта и помещать в него все файлы, которые вы хотите игнорировать.
Паван Гупта
Я бы за то, что принял неправильный ответ.
Аарон Холл
@AaronHall - переключил .... не пересматривал это некоторое время .....
mishaF

Ответы:

428

Поместите .gitignore в рабочий каталог. Это не сработает, если вы поместите его в каталог .git (хранилище).

$ ls -1d .git*
.git
.gitignore
jmulho
источник
20
Это фактический ответ. Хорошо, что вы понимаете вопрос :)
Mario SE
15
Это неоднозначный ответ ИМО. Где в рабочем каталоге? В корне это? Где угодно?
Карл Алколея,
6
@CarlesAlcolea, в ответе говорится, что вы можете поместить .gitignoreфайл в любое место рабочего каталога, то есть в любую папку, где преобладает ваш код. Сказав это, лучшая практика будет помещать .gitignoreфайл в корневой каталог. Это означает один .gitignoreфайл для одного всего репо. Это делает управление проигнорированными файлами более эффективным.
Энди
10
Мне нужно дополнительное объяснение. Что произойдет, если .gitignore находится в подкаталоге? Это просто регулирует подкаталог и его ветви? Можно ли иметь несколько .gitignore в разных подкаталогах? Будет ли иметь .gitignores с другими правилами в подкаталогах каскадно по сравнению с .gitignores директории parrent?
Behrooz Karjoo
72

Как указано в других ответах, вы можете поместить их .gitignoreв любой каталог в Git-репозитории. Однако, если вам нужна частная версия .gitignore, вы можете добавить правила в .git/info/excludeфайл.

Алан Хаггай Алави
источник
4
Также core.excludesfile(см. Git-config (1) ), чтобы указать файл, в котором хранятся ваши персональные шаблоны исключений (ваш любимый шаблон именования «временных файлов», резервные / временные файлы вашего редактора и т. Д.). Соответственно, избегайте размещения «личных шаблонов» в отслеживаемых .gitignoreфайлах.
Крис Джонсен
2
Приватная часть этого ответа была очень полезной, поскольку у меня есть несколько изменений в проекте, которые не входят в зарегистрированный .gitignoreфайл.
OregonGhost
57

Вы можете поместить .gitignore в любой каталог в git.

Он обычно используется в качестве файла-заполнителя в папках, поскольку git обычно не отслеживает папки.

philipk
источник
7
почему вы можете положить его куда угодно? Почему Git не запутался?
Чарли Паркер
3
Таким образом, файл .gitignore может помещаться в сам каталог .git, не так ли? (Какой был оригинальный вопрос). Какой цели это послужит?
Бакар
8

Если вы хотите сделать это глобально, вы можете использовать путь по умолчанию, который будет искать git. Просто поместите его в файл с именем «ignore» в пути~/.config/git

(так полный путь для файла: ~/.config/git/ignore)

Лиран Бример
источник
3

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

XLE_22
источник
0

Кроме того, если вы создадите новую учетную запись на Github, у вас будет возможность добавить .gitignore, и она будет автоматически настроена в правильном / стандартном месте вашего рабочего места. Вам не нужно ничего добавлять туда в начале, просто измените содержимое в любое время.

Thielicious
источник