В процессе использования Git нам нравится, чтобы файлы, такие как логи, временные файлы, скомпилированные промежуточные файлы и т.д., не отправлялись в репозиторий кода, поэтому нам нужно устанавливать соответствующие правила игнорирования, чтобы игнорировать коммит этих файлов.
Git игнорирует метод фиксации файлов
Есть три способа игнорировать файлы, которые вы не хотите коммитировать в Git.
Определите файл .gitignore в вашем Git-проекте
Это реализуется с помощью определения файла .gitignore в папке проекта, где определяются соответствующие правила игнорированияТекущая папкаПоведение фиксации Git файла под элементом Файлы .gitignore можно отправлять в публичные репозитории, что означает, что все разработчики проекта имеют общий набор правил игнорирования. В файле .gitingore укажите правило игнорирования на каждой строке, следуя соответствующему синтаксису. Например:
Укажите файлы исключения в настройках проекта Git
Это лишь временная спецификация поведения проекта, которая требует редактирования файла .git/info/exclude под текущим проектом и записи файла, в который нужно игнорировать коммит. Обратите внимание, что корневой каталог игнорируемых файлов, указанных таким образом, является корнем проекта.
Файл .gitignore, который определяет глобальный Git
Помимо возможности определять .gitignore файлы в вашем проекте, вы также можете настроить глобальный git .gitignore файл для управления поведением всех Git-проектов. Этот подход не используется разными разработчиками проектов и является поведением на уровне Git-приложений поверх проекта.
Это также требует создания соответствующего файла .gitignor, который можно разместить в любом месте. Затем настройте Git с помощью следующей команды:
Git игнорирует правила
Для подробного ознакомления с правилами игнорирования, пожалуйста, обратитесь к официальной английской документации по адресу:Вход по гиперссылке виден.
Git игнорирует приоритет правил
В файле .gitingore укажите правило игнорирования для каждой строки, и Git проверяет наличие нескольких источников при игнорировании правил со следующим приоритетом (от самого высокого к наименьшему):
- Читайте доступные правила игнорирования из командной строки
- Правила, определённые текущим каталогом
- Правила, определённые родительским каталогом, являются рекурсивными
- $GIT_DIR/info/exclude файл
- core.excludesfile
Git игнорирует синтаксис сопоставления правил
В файле .gitignore синтаксис правила игнорирования для каждой строки следующий:
- Пробелы, не совпадающие с произвольными файлами, могут использоваться как разделители и быть спрятанными с помощью обратных косых черт
- # Идентификационный комментарий к файлу в начале можно скрыть с помощью обратной черты
- ! Идентификация схемы в начале отрицательна, и файл будет включён снова, если родительский каталог файла исключён, используйте ! больше не будет включено. Побег можно выполнить с помощью обратной черты
- / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
- / 开始的模式匹配项目跟目录
- Если шаблон не содержит косой черты, он совпадает с содержимым относительно текущего пути .gitignore файла, а если шаблон отсутствует в .gitignore файле — относительно корня проекта
- ** Сопоставленные многоуровневые каталоги могут использоваться в начале, середине и конце
- ? Универсальное сопоставление отдельных персонажей
- [ ] Универсальный список отдельных персонажей
Распространённые примеры сопоставления:
- bin/: игнорирует папку bin по текущему пути, всё в этой папке игнорируется, но не bin файл
- /bin: 忽略根目录下的bin文件
- /*.c: 忽略 cat.c,不忽略 build/cat.c
- debug/*.obj: игнорируйте debug/io.obj, не игнорируйте debug/common/io.obj и tools/debug/io.obj
- **/foo: игнорировать /foo, a/foo, a/b/foo и так далее
- A/**/B: игнорировать A/b, A/x/B, A/x/y/b и так далее
- !/bin/run.sh: Не игнорируйте run.sh файлы в папке bin.
- *.log: Игнорировать все .log файлы
- config.php: 忽略当前路径的 config.php 文件
Правило .gitignore не вступает в силу
.gitignore может игнорировать только файлы, которые изначально не отслеживались, а изменение .gitignore неэффективно, если некоторые файлы уже были включены в версии.
Обходной путь — удалить локальный кэш (изменить его в неотслеживаемое состояние) перед выполнением коммита:
(Конец)
|