git add .
y git add dir/.dot
funcionan bien para mí con las versiones sin adornos 1.6.6.1 y 1.7.0 de Git que tengo a mano en este momento.
% 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
¿Qué versión de Git estás utilizando? ¿Sus subdirectores son realmente submódulos (que se administran de manera independiente)?
"archivos de puntos" no están excluidos por defecto, pero tal vez un poco de configuración en su sistema, repositorio o árbol de trabajo los ha configurado de esa manera. Si se muestran en git ls-files --exclude-standard -oi
, se ignoran y "!. *" Es la forma correcta de "ignorarlos". Pero para ser efectivo, ese patrón debe estar en el lugar correcto. Ignora se procesan en este orden:
- .gitignore del directorio que contiene de inmediato, entonces
- .gitignore del directorio padre (cada padre, hasta la raíz del repositorio), entonces
- $ GIT_DIR/info/excluir, entonces
- el archivo informado por
git config core.excludesfile
(que podría ser fijado por
- $ GIT_DIR/config,
- $/.gitconfig o
- el archivo de configuración del sistema HOME (
GIT_EDITOR=echo git config --system --edit
tratar de obtener su nombre de ruta)).
Cuando un nombre de ruta coincide con un patrón en un solo archivo, archivos posteriores no son consultados. El último partido en cada archivo "gana". Un patrón en $ GIT_DIR/info/exclude nunca puede anular un patrón en un archivo .gitignore. Entonces, si los archivos están siendo ignorados (por git ls-files --exclude-standard -oi
) y si "!.*" En $ GIT_DIR/info/exclude es ineficaz, a continuación, comprobar todos los archivos .gitignore
aplicables para el culpable.
"Toca. dotfile; git add .dotfile "trabajar en el directorio de nivel superior? Esto se parece un poco a '. * * aparece en un archivo .gitignore (tal vez en el subdirectorio), pero cuando pruebo esto (de hecho, con una versión bastante nueva de git) Me aparece una advertencia que sugiere el uso de la bandera -f para agregar git. –