Debido a restricciones externas extrañas, no puedo modificar el .gitignore
de 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-index
comandos.Si puede modificar
.git/info/exclude
, puede poner las mismas reglas allí. Pero ese archivo está solo dentro de su repositorio local.fuente
.git
directorio en un submódulo ....git
carpeta de un submódulo está realmente enparent_repo/.git/modules/submodule_name
. Así que editaríasparent_repo/.git/modules/submodule_name/info/exclude
Hay tres formas de decirle a GIT qué archivos ignorar:
.gitignore
archivos$GIT_DIR/.git/info/exclude
core.excludesfile
configuració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/.gitignore
contenido 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-unchanged
en 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
.gitignore
al 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 .gitignore
que su cambio.gitignore
nunca se presione. Ahora está ignorando el archivo (posiblemente) no rastreado y no afecta el.gitignore
archivo remoto .fuente
Ignorar los cambios locales en los archivos rastreados:
git update-index --assume-unchanged my-file.php
Ignorar los cambios locales en los archivos rastreados:
git update-index --no-assume-unchanged my-file.php
fuente:
git help update-index
fuente
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:
.gitignore
git update-index --assume-unchanged .gitignore
fuente