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?

questionAnswers(1)

yourAnswerToTheQuestion