Para mantener los archivos generados separados del código fuente en un Mac, cree una carpeta de salida dedicada dentro del repositorio y luego agregue esa carpeta al archivo .gitignore del repositorio. Finder le ayuda a crear e inspeccionar las carpetas; las reglas de exclusión de Git mantienen los resultados generados fuera de futuros commits. Esto funciona para archivos que Git aún no rastrea, así que verifique el estado del repositorio antes de confiar en ello.

Crear una carpeta de salida en Finder

Abra la carpeta del repositorio en Finder y cree una carpeta para la salida generada, como build o dist, usando Archivo > Nueva carpeta o Shift-Comando-N. Mantenga los archivos fuente en sus ubicaciones existentes y configure su herramienta de compilación para que escriba su salida en esa carpeta. El nombre de la carpeta debe coincidir con la ruta de salida real de la herramienta; crear una carpeta por sí sola no redirige una compilación. Apple documenta los pasos para la creación de carpetas en Finder en su guía para organizar archivos en Finder.

Si no está seguro de qué archivos son generados, revise la configuración de su herramienta de compilación o la documentación del proyecto antes de mover o excluir cualquier elemento. Algunos archivos generados son requeridos por el proyecto o se confirman intencionalmente en el repositorio. Mantenga esos archivos bajo control de versiones si el proyecto los necesita.

Agregar la carpeta generada a .gitignore

En la raíz del repositorio, cree o abra un archivo llamado .gitignore en un editor de texto. Finder puede crear carpetas y mover archivos, pero no proporciona controles de omisión de Git; Git lee los patrones de exclusión de .gitignore y de las configuraciones relacionadas. Agregue una regla para el directorio de salida, utilizando la ruta real relativa al archivo .gitignore. Por ejemplo:

/build/

Una barra inclinada inicial ancla este patrón a la raíz del repositorio, y la barra final hace que coincida con un directorio. Si su salida generada está anidada, use su ruta en su lugar, como /app/generated/. La documentación de gitignore de Git explica la coincidencia de patrones y señala que las reglas para todo el proyecto pertenecen a .gitignore para que puedan compartirse con otros clones.

Para una carpeta generada local que no deba afectar a otras personas que trabajan en el repositorio, agregue su regla a .git/info/exclude en su lugar. Git documenta esto como una alternativa específica del repositorio a .gitignore. Use una regla de .gitignore confirmada en el repositorio cuando la salida se genere para todos en el proyecto y deba excluirse para todos los colaboradores.

Confirmar la regla y gestionar los archivos ya rastreados

Abra Terminal y diríjase al directorio del repositorio. Compruebe el estado y luego pregunte a Git qué regla se aplica a una ruta generada:

git status --short
git check-ignore -v build/example-file

Reemplace build/example-file con una ruta que exista dentro de su carpeta de salida. La opción -v informa la regla de omisión coincidente y el archivo que la contiene. Si Git informa que no hay coincidencias, confirme la ruta y el patrón: las rutas en .gitignore se interpretan de forma relativa a la ubicación del archivo, y una regla puede ser anulada por otra regla coincidente. La referencia de check-ignore de Git describe cómo inspeccionar las coincidencias de omisión.

Una regla de exclusión no detiene el rastreo de archivos que ya han sido confirmados o preparados (staged) en Git. Git indica explícitamente que los archivos rastreados no se ven afectados por las reglas de omisión. Para eliminar del índice un archivo generado previamente rastreado dejando la copia local intacta, use git rm --cached con la ruta precisa, y luego revise el cambio antes de confirmarlo. Por ejemplo:

git rm --cached build/example-file
git status --short

Esto elimina únicamente el archivo indicado del índice de Git; no deja de rastrear automáticamente todos los archivos de un directorio. Revise la salida del estado, especialmente si tiene la intención de dejar de rastrear todo un árbol de salida, antes de confirmar el cambio. La guía de GitHub para omitir archivos también explica la distinción entre las exclusiones locales y las reglas compartidas de .gitignore.

Usar Finder para inspeccionar nombres, no para aplicar reglas de Git

Finder puede facilitar la inspección de los tipos de archivo: elija Finder > Ajustes > Avanzado y active Mostrar todas las extensiones de archivos. Esto puede ayudar a distinguir un archivo de código fuente de un archivo generado cuando sus nombres son similares. Apple señala que las extensiones podrían estar ocultas de otro modo y desaconseja cambiar la extensión de un nombre de archivo simplemente para cambiar el formato del archivo. Consulte las instrucciones de Apple para mostrar u ocultar las extensiones de archivos.

Por lo tanto, la división confiable es: Finder proporciona una carpeta visible para la salida generada, la herramienta de compilación escribe allí y las reglas de omisión de Git excluyen del control de versiones los archivos no rastreados aptos. Verifique la ruta de salida real y el estado de Git siempre que cambie la configuración de compilación del proyecto.

Fuentes