Absortio

Email → Summary → Bookmark → Email

Extracto

Puedes configurar Git para que ignore archivos que no quieres actualizar en GitHub.

Resumen

Resumen Principal

La gestión eficiente de un repositorio Git implica más que solo rastrear los cambios en el código fuente; requiere la capacidad de ignorar deliberadamente archivos y directorios que no son relevantes para el historial del proyecto o la colaboración. Git ofrece mecanismos robustos para especificar qué elementos deben ser omitidos durante el proceso de confirmación (commit), lo que resulta crucial para mantener repositorios limpios y focalizados. La estrategia principal se basa en el archivo .gitignore, una herramienta potente para definir reglas de exclusión que pueden ser compartidas entre los colaboradores de un proyecto. Sin embargo, Git también proporciona opciones flexibles para la exclusión a nivel global de la máquina o de forma local y no compartida dentro de un repositorio específico, adaptándose así a las necesidades individuales del desarrollador sin afectar el trabajo en equipo. Esta capacidad de personalización y estandarización es fundamental para optimizar los flujos de trabajo y asegurar la integridad del historial de versiones.

Elementos Clave

  • Configuración de reglas de ignore por repositorio con .gitignore: La forma más común y colaborativa de ignorar archivos es mediante la creación de un archivo .gitignore en el directorio raíz del repositorio. Este archivo, una vez confirmado (committed), comparte las reglas de exclusión con todos los usuarios que clonan el repositorio, asegurando que archivos como dependencias de paquetes, compilaciones o configuraciones IDE específicas no se incluyan accidentalmente. Existen recursos oficiales como github/gitignore y gitignore.io para generar plantillas de .gitignore adaptadas a diversos entornos y lenguajes.
  • Configuración de reglas de ignore globales para todos los repositorios: Para archivos o directorios que un usuario desea ignorar consistentemente en todos los repositorios de su máquina (por ejemplo, archivos de respaldo temporales generados por un editor de texto), Git permite definir reglas en un archivo llamado ignore ubicado en ~/.config/git/ignore. Esta configuración es personal y no se comparte con otros colaboradores, proporcionando una capa de exclusión global sin afectar la configuración del proyecto.
  • Exclusión de archivos locales sin compartir reglas: En situaciones donde un desarrollador necesita ignorar archivos únicamente en su repositorio local y no desea que estas reglas se compartan con otros, se puede editar el archivo .git/info/exclude dentro de la raíz del repositorio. Las reglas añadidas aquí son estrictamente locales y no se confirman en el historial del repositorio, siendo ideales para archivos generados durante el desarrollo que no son relevantes para el equipo.
  • Detener el rastreo de archivos ya versionados: Si un archivo que ya ha sido confirmado (committed) en el repositorio necesita ser ignorado, no basta con añadir una regla en .gitignore. Primero, el archivo debe ser eliminado del índice de rastreo de Git utilizando el comando git rm --cached FILENAME. Una vez que Git deja de rastrearlo, la regla de ignore recién añadida surtirá efecto, evitando futuras confirmaciones del archivo.

Análisis e Implicaciones

La capacidad de ignorar archivos y directorios en Git es crucial para mantener repositorios limpios, relevantes y seguros, evitando la inclusión de artefactos de compilación, configuraciones de entorno sensibles o archivos temporales. Esta flexibilidad permite a los equipos estandarizar las exclusiones esenciales del proyecto mientras que los desarrolladores individuales pueden personalizar su experiencia sin afectar la colaboración. La correcta aplicación de estas técnicas facilita una gestión de versiones más eficiente y un historial de confirmaciones significativo.

Contexto Adicional

La existencia de plantillas oficiales en github/gitignore y la herramienta gitignore.io subraya la importancia de una buena gestión de exclusiones, ofreciendo puntos de partida sólidos y simplificando la configuración inicial para desarrolladores.

Contenido

Puedes configurar Git para que ignore archivos que no quieres actualizar en GitHub.

Configurar archivos ignorados para solo un repositorio

Puede crear un archivo .gitignore en el directorio raíz del repositorio para indicarle a Git qué archivos y directorios ignorar cuando se realiza una confirmación. Para compartir las reglas de ignore con otros usuarios que clonan el repositorio, confirme el archivo .gitignore en el repositorio.

GitHub mantiene una lista oficial de archivos .gitignore recomendados para muchos sistemas operativos, entornos y lenguajes de programación populares en el repositorio público "github/gitignore". También puede usar gitignore.io a fin de crear un archivo .gitignore para el sistema operativo, lenguaje de programación o IDE. Para más información, consulta github/gitignore y el sitio gitignore.io.

  1. Abra TerminalTerminalGit Bash.

  2. Navega a la ubicación de tu repositorio de Git.

  3. Cree un archivo .gitignore para el repositorio.

    touch .gitignore
    

    Si el comando es exitoso, no habrá salida.

Para obtener un archivo .gitignore de ejemplo, consulta Algunas configuraciones comunes de .gitignore en el repositorio de Octocat.

Si quieres ignorar un archivo que ya se haya ingresado, deberás dejar de rastrearlo antes de que agregues una regla para ignorarlo. Desde tu terminal, deja de rastrear el archivo.

git rm --cached FILENAME

Configurar archivos ignorados para todos los repositorios en tu computador

Puede indicar a Git que siempre omita determinados archivos o directorios al realizar una confirmación en cualquier repositorio de Git del equipo. Por ejemplo, puede usar esta característica para omitir los archivos de copia de seguridad temporales que cree el editor de texto.

Para omitir siempre un determinado archivo o directorio, agréguelo a un archivo denominado ignore que se encuentra dentro del directorio ~/.config/git. De forma predeterminada, Git omitirá los archivos y directorios que aparecen en el archivo de configuración global ~/.config/git/ignore. Si el directorio git y el archivo ignore aún no existen, es posible que tenga que crearlos.

Exclusión de archivos locales sin crear un archivo .gitignore

Si no quiere crear un archivo .gitignore para compartir con otros usuarios, puede crear reglas que no se confirmen el repositorio. Puedes utilizar esta técnica para los archivos generados de forma local que no esperas que otros usuarios generen, tales como los archivos creados por tu editor.

Use su editor de texto favorito para abrir el archivo .git/info/exclude dentro de la raíz del repositorio de Git. Cualquier norma que agregues aquí no se registrará y solo ignorará archivos de tu repositorio local.

  1. Abra TerminalTerminalGit Bash.
  2. Navega a la ubicación de tu repositorio de Git.
  3. En el editor de texto que prefiera, abra el archivo .git/info/exclude.

Lecturas adicionales

Fuente: GitHub Docs