Quiero ignorar todos los archivos en mi repositorio excepto aquellos que ocurren en el bin
subdirectorio. Intenté agregar lo siguiente a mi .gitignore
:
*
!bin/*
Sin embargo, esto no tiene el efecto deseado: creé un nuevo archivo dentro bin/
, pero git status
aún se muestra nothing to commit (working directory clean)
.
¿Alguna sugerencia?
Respuestas:
Esto ignora los archivos raíz y los directorios raíz, luego ignora el directorio raíz bin:
De esta forma, obtiene todo el directorio bin, incluidos los subdirectorios y sus archivos.
fuente
/stuff/
y!/stuff/specific/
, pero todavía ignora / cosas / específicas /git check-ignore -v
me dijo que era por~/.gitignore
!/bin/
a mi.gitignore
archivo raíz , pero además tuve que agregar un/bin/.gitignore
archivo con!*
... Hacer solo uno de esos cambios no funcionó. Solo funcionó después de combinar ambos cambios.Aquí cómo ignorar todo, excepto un directorio " MY_SUPER_DUPER_TEMPLATE_directory " en algún directorio
Estructura: / bitrix / templates / MY_SUPER_DUPER_TEMPLATE_directory
fuente
Debe excluir todo en el camino a los destinos, pero debe incluir los destinos:
Nota: Este es un archivo de exclusión (es decir .gitignore) por lo que la lógica se invierte. Ignorar todo, excepto el directorio tsp, ignorar todo en el directorio tsp, excepto el directorio src ...
fuente
El único problema que tiene es que el
bin
directorio en sí no coincide con elbin/*
patrón, por lo que git ni siquiera se ve en elbin
directorio.Hay dos soluciones que vienen a la mente.
.gitignore
:o
.gitignore
:bin/.gitignore
:Prefiero la segunda solución ya que la primera solución no dejará de ignorar los archivos en el
bin
directorio que están en subdirectorios que no se llamanbin
. Esto puede o no importar en su situación.fuente
# Ignore everything * # But not these files... !/wp-content/ !/wp-content/plugins/ !/wp-content/plugins/my_plugin/ !/wp-content/plugins/my_plugin/*
No hay código de bloqueo en los comentarios?Del documento oficial de git , uno de los ejemplos dice:
Ejemplo para excluir todo excepto un directorio específico foo / bar (tenga en cuenta el / * - sin la barra inclinada, el comodín también excluiría todo dentro de foo / bar):
Para una explicación sobre la barra inclinada: Cuándo usar la barra inclinada en gitignore .
fuente
Intenta seguir en la última versión de GIT.
fuente
Creo que una mejor manera sería anclar cada patrón al directorio superior de git comenzando el patrón con una barra diagonal:
En lugar de ignorar todos los archivos, solo ignorará los archivos de nivel superior, no los del directorio que no desea ignorar.
fuente
Esto
.gitignore
funciona para mi:fuente
Prueba este oscuro error de git.
Espero eso ayude :)
Documentos de soporte git bug sample
PD: pruébalo primero antes de comentar.
fuente
Tuve que hacer esto recientemente:
No estoy seguro de por qué necesito dos líneas para excluir una carpeta, pero esto es lo que funcionó para mí y macos.
fuente