2017-02-20 6 views
0

Ich habe Dateien Struktur:git ignoriert zu viele Dateien

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

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

Mein .gitignore

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

git status Dateien untracked:

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

Für mich ich auch untracked haben müssen:

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

git --version 1.9.1 on Ubuntu 14.04

+1

Haben Sie Ihre Datei schon einmal gespeichert? Wenn sich die Datei im Repo befindet, wird sie nicht ignoriert. – Stony

+0

Nein, ich habe keine Datei geschrieben. –

Antwort

0

I-Lösung gefunden, ist der Punkt, dass ich jede Datei/Pfad ab dir ignorieren will 'xtest' -> '/ xtest /' mit Ausnahme einiger Dateien überall in/xtest/ How do I add files without dots in them (all extension-less files) to the gitignore file?

platziert

vielleicht jemand hilft es: /xtest/ jede Datei in dir zu ignorieren, aber kein Verzeichnis und nicht einige spezifischen Dateien:

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

subdirs von Cache/immer ignoriert werden, auch wenn es * .keep, * .gitkeep, etc aber nicht ignoriert i n erste Tiefe in den Cache/und fast alle Dateien werden in anderen Verzeichnissen ignoriert (in/xtest /) mit Ausnahme von * .keep, * .gitkeep, etc.

1

In qq Ordner, wenn es nur ist, hat ww.gz.gitkeep und aa.keep oder Sie wollen, dass alle Dateien in qq Ordner Version von git gesteuert sind, entfernen Sie einfach /xtest/* in .gitignore, so die .gitignore wie folgt aussieht:

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

Ja, aber das ist nicht der Punkt. Ich muss Dateien außer einigen specyfic ignorieren, die auf .gitkeep, .keep, etc in irgendeinem Verzeichnis unter/xtest/enden –

1

Indem Sie /xtest/* in Ihrem .gitignore haben, weisen Sie Git an, xtest/qq zu ignorieren. Es wird nie in diesem Verzeichnis absteigen und wird nie bemerken, dass es eine Datei gibt, die mit *.keep übereinstimmt, die Sie nicht ignorieren wollen. In einer von ihnen, so dass xtest/qq nicht außer Acht gelassen wird:

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

Das letztere un-ignoriert alle Verzeichnisse in xtest, erstere nur qq.

Verwandte Themen