Как мне остановить Git от автоматического добавления встроенных репозиториев? - PullRequest
0 голосов
/ 27 ноября 2018

У нас есть большой репозиторий, которому нужно иметь два вложенных репозитория, например:

Root
+- .git
+- Child1
   +- .git
+- Child2
   +- .git

Недавно мы столкнулись с проблемой, когда при запуске git add . Git добавляет оба этих репозитория.как встроенные репозитории.Мы этого не хотим.Я хочу, чтобы Гит игнорировал их. Есть ли параметр конфигурации Git, который я могу установить, чтобы отключить это поведение?

Мы можем добавить имена дочерних каталогов в файл .gitignore:

Child1
Child2

Но это приведет к игнорированию всех каталогов / файлов с именами Child1 и Child2 во всем хранилище.Мы пробовали

Child1/**
Child2/**

, но Git все еще встраивает репозитории с git add.

1 Ответ

0 голосов
/ 27 ноября 2018

Из gitignore справочных страниц:

   ·   A leading slash matches the beginning of the pathname. For example,
       "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".

Итак, измените ваш файл .gitignore на /Child1 и /Child2, и у вас должно получиться то, о чем вы просили.

Однако, другим решением может быть превращение двух дочерних репозиториев в настоящие подмодули git.Это будет иметь дополнительный бонус за автоматическое получение этих подмодулей в каждом синхронизированном «основном» репо и более строгий контроль версий (каждый коммит в основном репо будет иметь четко указанное состояние подмодуля).В зависимости от вашей конкретной ситуации, это может быть или не быть хорошей / удобной идеей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...