Я пытаюсь использовать .gitignore файл с отрицаемыми шаблонами (строки, запускающиеся с!), но это не прокладывает себе путь, я ожидаю.
Как минимальный пример, у меня есть следующая структура каталогов:
C:/gittest
-- .gitignore
-- aaa/
-- bbb/
-- file.txt
-- ccc/
-- otherfile.txt
и в моем gitignore файле, у меня есть это:
aaa/
!aaa/ccc/
Мое понимание (на основе этой страницы документа) - то, что файл, aaa/ccc/otherfile.txt не должен быть проигнорирован, но на самом деле мерзавец, игнорирует все под aaa.
Я неправильно понимающий это предложение: "Дополнительный префикс! который инвертирует шаблон; любой файл соответствия, исключенный предыдущим шаблоном, станет включенным снова".?
BTW, это находится в Windows с msysgit 1.7.0.2.
Я думаю, что вы на самом деле хотите сделать следующее:
aaa/*
!aaa/ccc
Вы говорите "не заглядывайте в aaa
", так что это даже не исследует путь aaa / ccc
. Если вы используете подстановочный знак, он по-прежнему считывает содержимое aaa
, затем каждая запись соответствует подстановочному знаку и игнорируется, за исключением aaa / ccc
, который возвращается обратно.