2013-07-09 8 views

Antwort

0

Hmm. Ich denke nicht, dass es möglich ist, direkte .gitignore-Regeln zu verwenden.

Allerdings sollte dies helfen:

  • .gitignore:

    packages/ 
    
  • hinzufügen Muster-Dateien:

    git add --force -- $(find packages/ -type f -iname '*.targets') 
    

Sie könnte auch th machen Fügen Sie einen Pre-Commit-Hook hinzu, um automatisch neue Zieldateien aufzunehmen, wenn sie angezeigt werden.

Um richtig Dateinamen mit Sonderzeichen zu unterstützen:

find packages/ -type f -iname '*.targets' -exec git add --force -- {} + 
3

Das ist für mich (Git 1.8.2.1) scheint zu funktionieren:

packages/**/*.* 
!packages/**/*.targets 

ich den *.* Teil benötigt, sonst ** Matches 0 Verzeichnisse , und eine einzige * am Ende wird jedes Verzeichnis in Paketen übereinstimmen, praktisch jedes Verzeichnis und jede Datei darin ignorieren.

Ich hoffe, die *.* ist nicht schlecht für Sie, aber Dateien ohne Erweiterung ist ziemlich ungewöhnlich.

+0

es scheint nur Dateien mit nur einem Punkt zu ignorieren, so dass viele meiner Dateien, die mehr als einen Punkt enthält, nicht ignoriert werden, wie: packages/AttributeRouting.3.5.6/AttributeRouting.3.5.6.nupkg – Escobar5

+0

Seltsam. Ich habe das genaue Verzeichnis und den Dateinamen in meinem Test-Repository erstellt und es korrekt ignoriert. Das Sternchen sollte Punkte selbst entsprechen, die einzige Sache, die ich erzwinge, ist, mindestens einen Punkt zu haben, aber zwei sollten ignoriert werden. Welche Version von Git verwendest du? Welches Betriebssystem? (Ich benutze Mac OS X 10.8.4) – yonosoytu

+0

Es könnte meine Version sein, ich benutze 1.7.11 unter Windows, ich werde eine neuere Version einchecken – Escobar5

Verwandte Themen