Під час використання Git ми любимо мати файли, такі як журнали, тимчасові файли, скомпільовані проміжні файли тощо, які не подаються до репозиторію коду, тому потрібно встановити відповідні правила ігнорування, щоб ігнорувати комміт цих файлів.
Git ігнорує метод фіксації файлів
Є три способи ігнорувати файли, які ви не хочете комітити в Git.
Визначте файл .gitignore у вашому Git-проєкті
Це керується шляхом визначення файлу .gitignore у папці проєкту, де визначені відповідні правила ігноруванняПоточна папкаПоведінка фіксації Git файлу під .gitignore файли можна надсилати до публічних репозиторій, що означає, що всі розробники проєкту мають спільний набір правил ігнорування. У файлі .gitingore вкажіть правило ігнорування для кожного рядка, відповідно до відповідного синтаксису. Наприклад:
Вкажіть файли виключення в налаштуваннях проєкту Git
Це лише тимчасова специфікація поведінки проєкту, яка вимагає редагування файлу .git/info/exclude під поточним проєктом, а потім запису файлу, до якого потрібно ігнорувати коміт. Зверніть увагу, що коренева директорія ігнорованих файлів, заданих таким чином, є коренем проєкту.
Файл .gitignor, який визначає глобальний Git
Окрім можливості визначати .gitignore файли у вашому проєкті, ви також можете налаштувати глобальний git .gitignore файл для керування поведінкою всіх Git-проєктів. Цей підхід не використовується різними розробниками проєкту і є поведінкою на рівні додатку Git, поверх проєкту.
Це також вимагає створення відповідного файлу .gitignor, який можна розмістити будь-де. Потім налаштуйте Git за допомогою наступної команди:
Git ігнорує правила
Для детальних правил ігнорування, будь ласка, зверніться до офіційної англійської документації за адресою:Вхід за гіперпосиланням видно.
Git ігнорує пріоритет правил
У файлі .gittingore вкажіть правило ігнорування для кожного рядка, і 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 є неефективною, якщо деякі файли вже включені у версійну версію.
Обхідний шлях полягає в тому, щоб видалити локальний кеш (змінити його на невідстежений стан) перед комітом:
(Кінець)
|