Как отслеживать только файлы .config в подкаталогах, которые являются прямыми потомками из рабочего каталога? - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь создать файл .gitignore, который должен отслеживать только файлы ".config", которые находятся в каталогах, начиная с "linux -", которые являются прямыми потомками рабочего каталога. Я не хочу отслеживать какие-либо другие файлы или подкаталоги в каталогах "linux -". Например. Я не хочу отслеживать "/linux-4.2-blah/foo/.config", только "/linux-4.2-blah/.config" и только файлы с точным именем ".config". Я пробовал следующие и некоторые другие варианты:

*
!/linux-*/
/linux-*/**
!/linux-*/.config

, но когда я запускаю "sudo git add." он также включает, например, *. 1004 *

  • "linux -4.19 * /. clang-format"
  • "linux -4.19 * /. mailmap"

и куча других файлов, которые мне не нужны

Кто-нибудь? Спасибо!

1 Ответ

0 голосов
/ 09 февраля 2020

Этот .gitignore отлично работает для меня, согласно приведенному ниже тесту:

*
!linux-*
linux-*/**
!linux-*/.config

Протестировано со следующей структурой папок (. git папка опущена), git показывает состояние linux-*/.config без отслеживания и остальные игнорируются.

$ tree
.
├── .config
├── .git
│   └── …
├── .gitignore
├── README.md
├── folder
│   ├── .config
│   ├── .lorem
│   └── xy
├── linux-123
│   ├── .config
│   ├── .test
│   └── abc
└── test.txt

18 directories, 32 files

$ git status -uall --ignored
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        linux-123/.config

Ignored files:
  (use "git add -f <file>..." to include in what will be committed)

        .config
        .gitignore
        folder/.config
        folder/xy
        linux-123/.test
        linux-123/abc
        test.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...