git add .
und git add dir/.dot
funktionieren gut für mich mit den ungeschmückten 1.6.6.1 und 1.7.0 Versionen von Git, die ich gerade jetzt habe.
% git --version
git version 1.6.6.1
% git ls-files -o
.baz/baz
.foo
bar/.bar
quuux/quuux
quux
% git add .
% git ls-files -o
% git ls-files
.baz/baz
.foo
bar/.bar
quuux/quuux
quux
Welche Version von Git verwenden Sie? Sind Ihre Unterverzeichnisse tatsächlich Untermodule (die unabhängig voneinander verwaltet werden)?
"dot files" sind standardmäßig nicht ausgeschlossen, aber vielleicht ist ein bisschen Konfiguration in Ihrem System, Repository oder Arbeitsbaum so eingestellt. Wenn sie in git ls-files --exclude-standard -oi
angezeigt werden, dann werden sie ignoriert und "!. *" Ist der richtige Weg, um sie "unignore" zu machen. Aber um effektiv zu sein, muss dieses Muster am richtigen Ort sein. Ignoriert werden in dieser Reihenfolge verarbeitet:
- .gitignore des unmittelbar enthaltenden Verzeichnis, dann
- .gitignore des übergeordneten Verzeichnisses (jedem Elternteil, bis in das Repository root), dann
- $ GIT_DIR/info/ausschließen, dann
- die von
git config core.excludesfile
berichtet Datei (die von
gesetzt werden konnte
- $ GIT_DIR/config,
- $ HOME/.gitconfig oder
- die System-Konfigurationsdatei (versuchen
GIT_EDITOR=echo git config --system --edit
seinen Pfad zu bekommen)).
Wenn ein Pfadname ein Muster in einer Datei übereinstimmt, werden die nachfolgenden Dateien nicht zu Rate gezogen. Die letzte Übereinstimmung in jeder Datei "gewinnt". Ein Muster in $ GIT_DIR/info/exclude kann niemals ein Muster in einer .gitignore Datei überschreiben. Also, wenn die Dateien ignoriert werden (per git ls-files --exclude-standard -oi
) und wenn "!.*“In $ GIT_DIR/info/ausschließen unwirksam ist, dann lassen Sie die geltenden .gitignore
Dateien für den Täter.
"Berühren". Punktdatei; git add .dotfile "arbeite in der obersten Ebene? Das sieht ein bisschen aus wie '. *' ist in einer .gitignore Datei aufgelistet (vielleicht im Unterverzeichnis), aber wenn ich das teste (zugegeben mit einer ziemlich neuen Version von git) Ich erhalte eine Warnung, die darauf hinweist, dass ich das Flag -f verwenden muss, um hinzuzufügen. –