Wie kann ich alle Dateien außer zwei Unterverzeichnissen speichern?

Wie ignoriere ich alle Dateien in einem Projekt mit Ausnahme von zwei Unterverzeichnissen? Ich möchte nicht alles von Wordpress in Git einbinden, aber ich möchte die angepassten Designs einbinden. Ich habe zwei Geschwisterverzeichnisse, daher möchte ich auch keine zwei separaten Git-Projekte.

.gitignore
src/
!src/wp-content/themes/chocolat-child/
!src/wp-content/themes/theme2

Es handelt sich um eine neue Repository-Initialisierung ohne Historie oder Commits. Wenn ich den Status überprüfe, werden die Unterverzeichnisse ignoriert.

>git status
# Initial commit
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#       .gitignore
#       .project
#       .settings/

Ich habe diesen Abschnitt in der Dokumentation gesehen, aber es muss eine Problemumgehung geben:http://git-scm.com/docs/gitignore

Ein optionales Präfix "!" das negiert das Muster; Jede übereinstimmende Datei, die durch ein vorheriges Muster ausgeschlossen wurde, wird wieder aufgenommen. Es ist nicht möglich, eine Datei erneut einzuschließen, wenn ein übergeordnetes Verzeichnis dieser Datei ausgeschlossen ist. Git listet aus Performancegründen keine ausgeschlossenen Verzeichnisse auf, daher haben alle Muster für enthaltene Dateien keine Auswirkung, unabhängig davon, wo sie definiert sind. Setzen Sie einen Backslash ("\") vor das erste "!" für Muster, die mit einem Literal "!" beginnen, z. B. "! important! .txt".

Ich habe diese Frage gesehen, aber sie lag an einem versteckten Drupal-.gitignore, daher löst sie mein Problem nicht:Ein Verzeichnis ignorieren ... aber nicht ein oder zwei Unterverzeichnisse

Ausführung

Git-Version 1.8.1.msysgit.1

Antworten auf die Frage(2)

Ihre Antwort auf die Frage