Во-первых, git может игнорировать только неотслеживаемые файлы.
где добавить файл gitignore, чтобы он работал правильно?
Вы можете иметь разные местоположения для таких файлов в вашем домашнем каталоге (например, $HOME/.config/git/ignore
), $GIT_DIR/info/exclude
, $GIT_DIR/.gitignore
и $GIT_DIR/**/.gitignore
(см. git help ignore
, что поддерживается в вашей версии git ).
Добавление шаблона в файл игнорирования в вашем домашнем каталоге будет применяться ко всем локальным репозиториям git.
$GIT_DIR/info/exclude
применяется только к локальному репо, не может быть передано вашим товарищам по команде.
$GIT_DIR/.gitignore
и $GIT_DIR/**/.gitignore
могут отслеживаться git и могут передаваться вашим товарищам по команде.
Шаблон, подобный *.txt
, исключит любой txt-файл в том же каталоге и любые подкаталоги, как .gitignore
.
Шаблон типа /*.txt
исключит любой txt-файл в том же каталоге, что и .gitignore
.
Шаблон типа !a*.txt
будет включать файлы, соответствующие этому выражению (даже если он может быть исключен каким-либо другим файлом игнорирования).
Вы можете использовать git check-ignore -v <pathname>
, чтобы проверить, что игнорирует выражение, включая / исключая файл или каталог.