.gitignore чувствителен к пробелам? - PullRequest
3 голосов
/ 08 декабря 2011

Кажется, мой файл .gitignore работает непредсказуемо.Вот пример:

Я создаю новый репо-файл с файлом bar.txt, который я хочу игнорировать:

pon2@kann4:~$ mkdir foo
pon2@kann4:~$ cd foo/
pon2@kann4:~/foo$ touch bar.txt
pon2@kann4:~/foo$ git init
Initialized empty Git repository in /home/pon2/foo/.git/
pon2@kann4:~/foo$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       bar.txt
nothing added to commit but untracked files present (use "git add" to track)

Как и ожидалось, bar.txt отображается без отслеживания.Поэтому я приказываю git игнорировать .txts, но я случайно добавляю некоторые пробельные символы:

pon2@kann4:~/foo$ echo "*.txt " > .gitignore

Теперь, когда я проверяю состояние репо, git не игнорирует bar.txt:

pon2@kann4:~/foo$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       bar.txt
nothing added to commit but untracked files present (use "git add" to track)

Что происходит?

Ответы [ 2 ]

3 голосов
/ 08 декабря 2016

Это изменилось в git 2.0.Из примечаний к выпуску :

Конечные пробелы в файлах .gitignore, если они не указаны в fnmatch(3), например, "path\ ", предупреждены и проигнорированы.Строго говоря, это назад несовместимое изменение, но очень маловероятно, чтобы он укусил любого здравомыслящего пользователя, и настройка должна быть очевидной и простой.

2 голосов
/ 08 декабря 2011

.gitignore чувствителен к пробелам. Если вы включите конечный пробел, git не распознает ваши файлы.

В этой строке есть пробел:

pon2@kann4:~/foo$ echo "*.txt " > .gitignore

Как только мы исправим это:

pon2@kann4:~/foo$ echo "*.txt" > .gitignore

Проблема решена:

pon2@kann4:~/foo$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
nothing added to commit but untracked files present (use "git add" to track)
pon2@kann4:~/foo$ 
...