.gitignore /папка против папки/

#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 должен быть последний столбец для *.txt x , поскольку он не будет сопоставлен.