Git checkout esparso para implementação web simples
Eu tenho uma estrutura de diretórios como esta:
../dir1/dev/project1/...
/project2/...
/project3/...
/production/
Eu tenho dev (e todos os seus sub-diretórios) verificados no git (e github). Tudo está funcionando bem.
Eu gostaria de usar o github para implantar somente o project2 fazendo check-out (ou puxando, ou qualquer outro) no meu diretório de produção. (E especificamente, eu quero dar uma olhada por tag.) Então isso resultaria em../dir1/production/project2
Eu não sou um git expert mas li um monte online e parece que um 'checkout esparso' é o que eu estou procurando. Eu tentei várias combinações das instruçõesAqui eAqui eAqui.
Basicamente eu fiz:
mkdir <repo> && cd <repo>
git init
git remote add –f <name> <url>
git config core.sparsecheckout true
echo /project2/ >> .git/info/sparse-checkout
Quando eu façogit pull <remote> TAGNAME
eu recebofatal: The remote end hung up unexpectedly
.
Quando eu façogit checkout TAGNAME
eu receboerror: Sparse checkout leaves no entry on working directory
.
O que estou fazendo de errado?