Ответ 1
Это текст документации:
- Ведущая косая черта соответствует началу пути. Например, "/*.c" соответствует "cat-file.c" но не "mozilla-sha1/sha1.c".
Это мои догадки:
-
Если вы используете in-repository-
.gitignore
, каталог, в котором.gitignore
- это не очень полезно сделать его относительно корня репозитория.Короткий эксперимент с одноименными файлами в корне репозитория и подкаталогом (и
.gitignore
в этом же каталоге) подтверждает это. -
Если вы используете
.git/info/exclude
илиcore.excludesfile
, я полагаю, что это относительный к корню репозитория.Также это (для info/exclude), подтвержденное тем же тестом (оба теста на 1.7.3.4).
Schnouki нашел правильную часть документации об этом (внимание мое):
- [...]
- Шаблоны, считанные из файла
.gitignore
в том же каталоге, что и путь, или в любой родительский каталог с шаблонами в файлах более высокого уровня (вплоть до верхнего уровня рабочего дерева), которые переопределяются теми, которые находятся в файлах нижнего уровня, вплоть до каталог, содержащий файл. Эти шаблоны соответствуют местоположению.gitignore
. Обычно проект включает такие файлы.gitignore
в свой репозиторий, содержащий шаблоны для файлов, сгенерированных как часть сборки проекта.- [...]
Можно было бы сказать, что этот факт можно было бы повторить снова в более поздней части, приведенной выше, для ясности.