¿Cuándo usarías .git/info/exclude en lugar de .gitignore para excluir archivos?
Estoy un poco confundido acerca de los pros y los contras de usar .git/info/exclude
y.gitignore
excluir archivos.
Ambos están en el nivel del repositorio/proyecto, entonces, ¿en qué se diferencian y cuándo debemos usarlos .git/info/exclude
?
La primera ventaja de .gitignore
es que está versionado en el propio repositorio, a diferencia de .git/info/exclude
. La segunda ventaja es que puede tener varios .gitignore
archivos, uno por directorio/subdirectorio, para reglas de ignorar específicas del directorio, a diferencia de.git/info/exclude
.
Por lo tanto, los .gitignore
archivos tienen versiones y están presentes en todos los clones del repositorio. Por lo tanto, en equipos grandes todas las personas ignoran el mismo tipo de archivos (por ejemplo *.db
, *.log
); y el uso de varios .gitignore
archivos permite reglas de ignoración más específicas.
.git/info/exclude
está disponible sólo para clones individuales. No está versionado, por lo tanto, lo que una persona ignora en su clon no está disponible/presente en el clon de otra persona. Por ejemplo, si alguien usa Eclipse para el desarrollo, puede tener sentido que ese desarrollador agregue .build
una carpeta a.git/info/exclude
porque es posible que otros desarrolladores no estén usando Eclipse.
En general, los archivos/reglas de ignorar que deben ignorarse universalmente deben ir en .gitignore
, y de lo contrario, los archivos que desea ignorar solo en su clon local deben ir en .git/info/exclude
.
Buscado en Google: 3 formas de excluir archivos
.gitignore
se aplica a cada clon de este repositorio (versionado, todos lo tendrán),.git/info/exclude
solo se aplica a su copia local de este repositorio (local, no compartida con otros),~/.gitignore
se aplica a todos los repositorios de su computadora (locales, no compartidos con otros).
3.
en realidad requiere establecer una configuración en su computadora:
git config --global core.excludesfile '~/.gitignore'