2017-02-20 94 views
0

У меня есть файлы структура:мерзавца игнорирует слишком много файлов

$ ls xtest/ 
arch.gz.keep 
raq.gz.keep 
qq 

$ ls xtest/qq/ 
ww.gz.gitkeep 
aa.keep 

Мои .gitignore

/xtest/* 
*.sql 
*.gz 
*.zip 
*.log 
!*.keep 
!*.gitkeep 
!*.dist 
!*.dist.* 

git status FILES неотслеживаемые:

xtest/.gitkeep 
xtest/.keep 
xtest/arch.gz.keep 

Для меня мне нужно также иметь неотслеживаемым:

xtest/qq/ww.gz.gitkeep 
xtest/qq/aa.keep 

git --version 1.9.1 on Ubuntu 14.04

+1

Вы уже делали свой файл раньше? Если файл находится в репо, он не игнорируется. – Stony

+0

Нет, я не сделал ни одного файла. –

ответ

0

Я нашел решение, дело в том, что я хочу, чтобы игнорировать каждый файл/путь начиная с директории «XTEST» -> «/ XTEST /» за исключением некоторых файлов размещены в любом месте в/XTEST/ How do I add files without dots in them (all extension-less files) to the gitignore file?

Может быть, для кого-то это поможет: Чтобы игнорировать любой файл в директории /xtest/ но не любой каталог, а не некоторые конкретные файлы:

/xtest/**/* 
!/xtest/**/*/ 
/xtest/**/cache/* 
*.sql 
*.gz 
*.zip 
*.log 
!*.keep 
!*.gitkeep 
!*.dist 
!*.dist.* 

SUBDIRS кэша/будут игнорироваться всегда, даже если есть * .keep * .gitkeep и т. д., но не игнорируется i n первая глубина в кеш/и почти все файлы будут игнорироваться в других версиях (в/xtest /), кроме * .keep, * .gitkeep и т. д.

1

В qq папке, если это имеет только ww.gz.gitkeep и aa.keep или вы хотите, чтобы все файлы в qq папке версия контролируется мерзавец, просто удалите /xtest/* в .gitignore, так .gitignore выглядит следующим образом:

*.sql 
*.gz 
*.zip 
*.log 
!*.keep 
!*.gitkeep 
!*.dist 
!*.dist.* 
+0

Да, но это не главное. Мне нужно игнорировать файлы, кроме некоторых specyfic, заканчивающихся на .gitkeep, .keep и т. Д. В любой директории под/xtest / –

1

Имея /xtest/* в вашем .gitignore, вы поручаете Git игнорировать xtest/qq. Он никогда не будет спускаться в этом каталоге и никогда не заметит, что есть соответствующий файл *.keep, который вы не хотите игнорировать. Добавьте один из них так, что xtest/qq не игнорируется:

!/xtest/qq/ 
!/xtest/*/ 

Это последняя не-игнорирует все каталоги в xtest, бывший только qq.