#git #gitignore
#git #gitignore
Вопрос:
в .gitignore в чем разница между использованием
/bin
и
bin/
И как бы мне сделать так, чтобы он удалял определенный файл, независимо от того, где он находится?
*/*.ext
Ответ №1:
Начало /
закрепляет шаблон игнорирования в точке дерева, где находится конкретное .gitignore
значение.
Завершающий символ /
означает, что шаблон будет соответствовать только каталогу (и, следовательно, всем файлам в этом соответствующем каталоге).
У вас может быть и то, и другое, например, /bin/
будет соответствовать только каталогу с именем bin
и только на уровне .gitignore
файла.
Простой *.ext
будет соответствовать любому файлу, заканчивающемуся на .ext
в любом месте на уровне .gitignore
файла, в котором он появляется, или ниже него.
Ответ №2:
Последнее должно соответствовать «xxx/bin» и «bin» в любых других подкаталогах.
Ответ на вашу правку: *.ext
позаботился бы обо всех файлах в репозитории, заканчивающихся на этот ext.
Комментарии:
1. Также ответьте на его второй вопрос, то есть он должен использовать .ext вместо */ .ext
Ответ №3:
Я протестировал эти случаи, а также еще несколько, и здесь вы можете ознакомиться с результатами:
РЕДАКТИРОВАТЬ: Исправлено в соответствии с комментарием @Dan Breen ниже (спасибо!)
Комментарии:
1. В первой строке для
bin
должен быть последний столбец для *.txtx
, поскольку он не будет сопоставлен.