Para añadir un directorio a un sparse checkout existente en su Mac, abra Terminal, vaya a la raíz del repositorio y ejecute git sparse-checkout add 'path/to/directory'. Git hace que los archivos rastreados bajo ese directorio estén disponibles en el árbol de trabajo mientras mantiene las otras selecciones de sparse-checkout. Si el repositorio aún no es disperso, use git sparse-checkout set --cone 'path/to/directory' para habilitar el modo de cono y elegir el directorio; esto establece la selección, por lo que puede eliminar otros archivos rastreados del árbol de trabajo.
Antes de ejecutar el comando
El sparse checkout cambia qué archivos rastreados aparecen en el árbol de trabajo de un repositorio. Los archivos fuera del área seleccionada permanecen rastreados por Git; no se eliminan del historial del repositorio. En el modo de cono predeterminado, Git incluye todo lo que está bajo un directorio seleccionado, además de los archivos inmediatamente dentro de sus directorios superiores y la raíz del repositorio. Eso significa que añadir un directorio anidado también puede hacer visibles archivos cercanos de nivel superior o del directorio superior. Manual de sparse-checkout de Git
Abra Terminal y compruebe que Git esté disponible, luego ingrese al repositorio. Por ejemplo, reemplace la ruta de muestra con la ubicación de su checkout:
git --version
cd "$HOME/Projects/sample-repo"
git status --short
En una Mac sin las herramientas de línea de comandos de Git instaladas, invocar git puede solicitarle que instale las Command Line Tools de Apple. Siga las instrucciones de macOS y luego vuelva a ejecutar git --version. Apple: Instalación de las Command Line Tools
Use git status --short para comprobar si hay cambios locales antes de cambiar la selección de sparse. Mantenga a salvo el trabajo importante no confirmado (uncommitted) o no rastreado (untracked), especialmente si está dentro de un directorio que pueda quedar excluido. Ejecute los comandos de sparse-checkout desde dentro del repositorio y use rutas relativas a su raíz. Ponga entre comillas las rutas que contengan espacios o metacaracteres del shell, como en los ejemplos, para que zsh o bash pasen la ruta a Git como un único argumento.
Añadir un directorio a un sparse checkout existente
Si el sparse checkout ya está habilitado, añada el directorio con:
git sparse-checkout add 'Packages/Map View'
Reemplace Packages/Map View con la ruta del directorio tal como aparece en el repositorio. En el modo de cono, esto añade ese directorio a la selección actual en lugar de reemplazar los otros directorios seleccionados. Git documenta que add requiere un sparse checkout existente; actualiza la selección y el árbol de trabajo. Referencia de comandos de Git sparse-checkout
Para inspeccionar los directorios seleccionados después, ejecute:
git sparse-checkout list
git status --short
La lista muestra los directorios del sparse-checkout. El estado le ayuda a ver si los archivos rastreados o no rastreados están modificados; no muestra los archivos rastreados omitidos como eliminados simplemente porque estén fuera de la selección de sparse.
Si se trata de un checkout regular
Para un checkout completo que desee convertir en un sparse checkout que contenga un directorio elegido, use set:
git sparse-checkout set --cone 'Packages/Map View'
set establece la selección de sparse a partir de las rutas que proporcione. No preserva otros directorios de un checkout regular completo como selecciones adicionales. Si necesita varios directorios, incluya cada uno en el mismo comando, por ejemplo git sparse-checkout set --cone 'Packages/Map View' 'Docs'. Referencia de comandos de Git sparse-checkout
Cambiar la selección puede eliminar archivos del árbol de trabajo. La documentación de Git también señala que, al cambiar las selecciones del modo de cono, puede eliminar archivos ignorados en directorios que ya no tengan archivos rastreados o archivos no rastreados no ignorados. Compruebe su estado y resguarde los archivos locales que necesite antes de ejecutar set; si Git advierte que los archivos no rastreados impiden la limpieza, inspeccione esos archivos en lugar de forzar la eliminación. Manual de sparse-checkout de Git
Si Git informa de un problema
Si git sparse-checkout add indica que el repositorio no está en un sparse checkout, decida si tiene la intención de reducir el árbol de trabajo. Para hacerlo, use el comando set --cone anterior. Si su intención era mantener todos los directorios actuales y solo añadir uno, primero identifique los directorios que desea conservar y luego pásele todos ellos junto con el nuevo directorio a set --cone.
Si una ruta no está presente después de añadirla, confirme la ortografía y el uso de mayúsculas y minúsculas comparándola con las rutas rastreadas del repositorio, y verifique si existe en la rama actual. El sparse checkout selecciona rutas rastreadas; no crea un directorio faltante ni inicializa un submódulo automáticamente. Git documenta la inicialización de submódulos como una operación independiente. Manual de sparse-checkout de Git
El sparse checkout controla qué archivos coloca Git en el árbol de trabajo; no es lo mismo que clonar solo un directorio o eliminar otros directorios del repositorio. Git admite filtros de clonación parcial independientes para limitar los objetos descargados desde un servidor, pero la disponibilidad y el efecto dependen de la configuración del clon y del servidor. La opción git clone --sparse comienza con los archivos de nivel superior y es otro flujo de trabajo para un clon nuevo. Documentación de Git clone