Подтвердить что ты не робот

Значение ведущей косой черты в файле `.gitignore`

Если я поместил образец в файл .gitignore с ведущей косой чертой, будет ли косая черта ссылаться на каталог, в котором находится файл .gitignore, или ссылается ли он на корень всего репозитория?

(Страницы, которые я нашел, скрывали эту информацию осторожно.)

4b9b3361

Ответ 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 в свой репозиторий, содержащий шаблоны для файлов, сгенерированных как часть сборки проекта.
  • [...]

Можно было бы сказать, что этот факт можно было бы повторить снова в более поздней части, приведенной выше, для ясности.