es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿El archivo sparse-checkout de git solo selecciona los archivos principales en el subdirectorio ropos?

He creado un repositorio de git, he añadido la siguiente estructura de archivos y lo he subido al repositorio remoto:

test
├── dir1
│   ├── file1.txt
│   └── file2.txt
└── dir2
    ├── file1.txt
    ├── file2.txt
    ├── file3.txt
    └── file4.txt

Entonces, digamos que dir1 contiene la documentación del proyecto y archivos zip iniciales y cosas en general que no quiero clonar. Me gustaría realizar una clonación dispersa y terminar con la siguiente estructura de archivos:

test_sparse
├── file1.txt
├── file2.txt
├── file3.txt
└── file4.txt

Entonces, realicé lo siguiente en mi máquina local:

mkdir test_sparse
cd test_sparse
git init
git config core.sparsecheckout true
echo dir2/* > .git/info/sparse-checkout
git remote add -f origin /git/test
git pull origin master

Pero termino con la siguiente estructura de archivos:

test_sparse
└── dir2
    ├── file1.txt
    ├── file2.txt
    ├── file3.txt
    └── file4.txt

¿Qué debo escribir en .git/info/sparse-checkout para que solo se clonen los archivos (y subdirectorios potenciales) en dir2 y no el directorio dir2 en sí?

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para clonar únicamente los archivos (y subdirectorios potenciales) en dir2 y no el propio dir2, necesitas modificar el contenido de .git/info/sparse-checkout de la siguiente manera:

    dir2/**
    

    Esto instruirá a Git a solo realizar el checkout de los archivos y subdirectorios dentro de dir2, pero no el propio dir2.

Comments are closed.