Debido a restricciones externas extrañas, no puedo modificar el .gitignorede mi repositorio. ¿Hay alguna forma de ignorar archivos y directorios que no sea modificar a .gitignore? Incluso si es una solución global como una configuración global que se aplicará a todos mis repositorios.
fuente

update-index --assume-unchanged@see stackoverflow.com/a/25253144/292408update-index --skip-work-tree. He editado la respuesta para agregar algunos enlaces a respuestas antiguas que ilustran esos dosupdate-indexcomandos.Si puede modificar
.git/info/exclude, puede poner las mismas reglas allí. Pero ese archivo está solo dentro de su repositorio local.fuente
.gitdirectorio en un submódulo ....gitcarpeta de un submódulo está realmente enparent_repo/.git/modules/submodule_name. Así que editaríasparent_repo/.git/modules/submodule_name/info/excludeHay tres formas de decirle a GIT qué archivos ignorar:
.gitignorearchivos$GIT_DIR/.git/info/excludecore.excludesfileconfiguraciónLos últimos dos puntos podrían resolver su problema.
Para más información, ver gitignore (5) .
fuente
Si solo desea tener algunos archivos locales en el repositorio y la ubicación del subdirectorio es flexible, puede colocar sus archivos
tracked_dir1/tracked_dir2/untracked_dir/y luego agregar untracked_dir1/tracked_dir2/untracked_dir/.gitignorecontenido con:*Es decir
fuente
He estado en situaciones similares, así que estoy agregando mi solución preferida que no veo mencionada. El problema con
git update-index --assume-unchangeden este caso es que no puede hacerlo para un archivo no rastreado. Tu dijisteAsumiré que lo que quieres decir es que no puedes empujar ningún cambio
.gitignoreal origen. Si ese es el caso, lo que puede hacer es agregar el archivo no rastreado a su local.gitignore, luego hagagit update-index --assume-unchanged .gitignoreque su cambio.gitignorenunca se presione. Ahora está ignorando el archivo (posiblemente) no rastreado y no afecta el.gitignorearchivo remoto .fuente
Ignorar los cambios locales en los archivos rastreados:
git update-index --assume-unchanged my-file.phpIgnorar los cambios locales en los archivos rastreados:
git update-index --no-assume-unchanged my-file.phpfuente:
git help update-indexfuente
Puede usar el método global de gitignore en lugar de modificar el del proyecto https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
fuente
De otra manera:
.gitignoregit update-index --assume-unchanged .gitignorefuente