Así que estoy tratando de trabajar en un comando para sincronizar una carpeta de origen con una estructura como esta:
- app.js
- .gitignore
- src/
- src/logs/
- src/logs/.gitignore
El primer .gitignore tendría una serie de archivos ignorados. Cosas tipicas. El segundo se vería así:
*
!.gitignore
Esta técnica se utiliza cuando desea registrar un directorio con ninguno de los archivos dentro. También puede haber más .gitignores en todo el directorio; este es solo un escenario. Entonces mi pregunta es esta: ¿es posible hacer que rsync interprete todos los .gitignores en relación con el directorio en el que se encuentran?
Mi intento inicial fue el siguiente:
- Glob todos los .gitignores en el directorio.
- Comando de compilación que se parece a:
rsync --exclude-from=.gitignore --exclude-from=src/logs/.gitignore --exclude-from=some/other/folder/.gitignore [source] [destination]
Sin embargo, esto no funcionó como se esperaba para mí. Todo se está ignorando porque está leyendo todos los archivos .gitignore como si estuvieran en la raíz. ¿Hay alguna forma posible de hacer esto sin tener que buscar todos los .gitignores y crear un archivo maestro con rutas reescritas, todas relacionadas con el directorio raíz?
¡Gracias!