2010-03-10 6 views
11

Y at-il un moyen de git pull tous les dossiers dans le référentiel, mais un? Je ne veux pas créer un fichier .gitignore car d'autres personnes voudront le dossier - c'est trop grand pour que je puisse l'utiliser maintenant.Comment git-pull tous sauf un dossier

Merci!

Répondre

9

Je ne pense pas que vous puissiez faire un tirage partiel, mais vous pouvez essayer de voir ce qui se passe si vous tirez dans un arbre qui n'est pas complètement extrait.

Depuis Git1.7, vous pouvez faire un sparse checkout, comme illustrated here, ce qui signifie que votre arborescence de travail exclut explicitement ce dossier spécifique lors du remplissage de son contenu.

Maintenant, si ce répertoire est très grand, il peut être préférable de l'isoler dans un dépôt Git autonome, permettant à d'autres utilisateurs de se référer à lui comme a submodule.

+0

C'est malheureux. Merci pour le commentaire! – ash

7

Si vous voulez obtenir juste et vous pouvez:

mkdir <repo> 
cd <repo> 
git init 
git remote add -f origin <url> 
git config core.sparsecheckout true 
echo <dir1>/ >> .git/info/sparse-checkout 
echo <dir2>/ >> .git/info/sparse-checkout 
echo <dir3>/ >> .git/info/sparse-checkout 
git pull origin master 

J'ai trouvé une bonne référence here.

+0

Le lien de référence n'est plus disponible. – Sawant

+0

quoi représente ? – Dish

+0

dans ce cas serait une URL pour le référentiel. Si vous hébergiez sur GitHub, il ressemblerait à quelque chose qui ressemble à: https://github.com/organisation/repo-name.git –

Questions connexes