2016-07-20 10 views
0

ich eine .gitignore Datei erstellen müssen, die diese Regeln folgt:git ignorieren alles außer einer Datei, einen Ordner, und eine Erweiterung in diesem Ordner

  1. Ignorieren alles in root
  2. Mit Ausnahme einer einzigen Datei fil.py
  3. Bis auf einen einzigen Ordner fol/
  4. Aber ignorieren Sie Dateien mit der Endung .pyc innerhalb /fol

Ich habe mehrere Kombinationen ausprobiert, aber ich kann es nicht funktionieren. Hier ist, was ich getestet habe:

1-

# ignore everything in root 
* 
# except for this file 
!fil.py 
# except for this folder 
!/fol 
# But do ignore these files 
/fol/*.pyc 

Dies wird Nachverfolgen von Änderungen an Dateien im Ordner fol/, sondern alle neue Dateien hinzugefügt, um es ignorieren.

2-

# ignore everything in root 
*/ 
# except for this file 
!fil.py 
# except for this folder 
!/fol 
# But do ignore these files 
/fol/*.pyc 

Diese Spuren korrekt sowohl alte als auch neue Dateien innerhalb fol/, während *.pyc Dateien zu ignorieren; Verfolgt aber auch Dateien im Stammordner.

3-

# ignore everything in root 
/* 
# except for this file 
!fil.py 
# except for this folder 
!/fol 
# But do ignore these files 
/fol/*.pyc 

Diese Spuren korrekt sowohl alte als auch neue Dateien innerhalb fol/ und ignoriert Dateien im Stammordner. Aber es wird auch alle *.pyc Dateien im Ordner fol/ verfolgen.

Jede Hilfe wird sehr geschätzt.

+0

Ich glaube, ich die Lösung gefunden. Das Problem ist mit der Lats-Linie in "Gitignore", nicht mit der ersten. Die Verwendung von '.pyc' in Kombination mit der 3- Option scheint zu funktionieren. – Gabriel

Antwort

1

Mit den folgenden .gitignore, ich glaube, das funktioniert so, wie Sie hoffen.

/* 
!fil.py 
!/fol 
*.pyc 

working example