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

Вид: 8411|Ответ: 2

Git игнорирует коммиты .gitignore

[Скопировать ссылку]
Опубликовано 11.07.2019 14:08:03 | | |
В процессе использования 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 неэффективно, если некоторые файлы уже были включены в версии.

Обходной путь — удалить локальный кэш (изменить его в неотслеживаемое состояние) перед выполнением коммита:


(Конец)





Предыдущий:JS — Плагин: Вложение для разработки дерева и внедрения доступны для скачивания!!
Следующий:Конфигурация схемы протокола http в PHP
Опубликовано 12.07.2019 9:32:26 |
.gitignore становится недействительным после изменения
https://www.itsvse.com/thread-4367-1-1.html
(Источник: Architect_Programmer)
 Хозяин| Опубликовано 24.09.2024 12:46:32 |
В силу вступает конфигурационный файл проекта Git .gitignore
https://www.itsvse.com/thread-10816-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com