una - ignorar carpetas en git
¿Cómo agrego algo al.gitignore para que el partido no sea recursivo? (2)
¿Cómo agrego algo al .gitignore
para que el partido no sea recursivo?
Por ejemplo, deseo ignorar el directorio foo
y el archivo bar.txt
en el directorio actual, pero ninguno que exista en subdirectorios.
He intentado esto para mi archivo .gitignore
:
foo/
bar.txt
Pero desafortunadamente git aplica esto recursivamente, por lo que otherdir/bar.txt
y otherdir/foo/
también son ignorados, que no es lo que quiero.
(¿Hay algún comando en git que me muestre todos los archivos ignorados y haga referencia al archivo .gitignore
que es responsable del archivo que se ignora? Esto sería útil para la depuración).
De la página de manual de gitignore:
Un prefijo opcional! que niega el patrón; cualquier archivo coincidente excluido por un patrón anterior se incluirá nuevamente. Si un patrón negado coincide, esto anulará las fuentes de patrones de precedencia inferiores.
Así que !*
Como la primera línea en su .gitignore borrará todos los patrones anteriores.
La solución es colocar una barra diagonal en las entradas de .gitignore
:
/foo/
/bar.txt
(Pensé que probé esto antes de publicar en , pero claramente no lo había intentado correctamente, ya que funciona a la perfección).