261 votes

Cloner le contenu d'un dépôt GitHub (sans le dossier lui-même)

J'aimerais git clone le contenu d'un référentiel que j'ai sur GitHub . Quand je git clone (git@github:me/name.git...) J'obtiens un dossier appelé name/ et à l'intérieur du nom, j'ai mon contenu... Comment puis-je obtenir JUSTE le contenu ?

0 votes

0 votes

Pour ne pas télécharger les objets inutiles afin d'économiser les ressources du réseau : stackoverflow.com/questions/600079/

353voto

Mark Longair Points 93104

Si le répertoire courant est vide, vous pouvez le faire avec :

git clone git@github.com:me/name.git .

(Notez le . à la fin pour spécifier le répertoire courant). Bien sûr, cela crée également le fichier .git dans votre dossier courant, et pas seulement le code source de votre projet.

Cette option [directory] est documenté dans le document git clone page de manuel qui indique que le clonage dans un répertoire existant n'est autorisé que si ce répertoire est vide.

2 votes

Malheureusement, cela ne fonctionne pas s'il y a d'autres répertoires non liés dans le même répertoire. Je cherche une solution. Le message d'erreur est : "fatal : le chemin de destination '.' existe déjà..."

15 votes

Le répertoire dans lequel git se clone doit être vide.

0 votes

Qu'est-ce que git@github.me ? Est-ce le chemin du référentiel ? Cela ne fonctionne pas pour moi. J'essaie ceci et je ne veux que les fichiers du dossier Test... git clone github.com/humaun21/Test.git Je veux obtenir uniquement les fichiers contenus dans le dossier Test. Mais cela ne fonctionne pas. J'ai créé un dossier Test qui contient mon dossier. Mais je ne veux que les fichiers du dossier Test.

168voto

John Little Points 631

Malheureusement, cela ne fonctionne pas s'il y a d'autres répertoires non apparentés dans le même répertoire. Je cherche une solution. Le message d'erreur est : "fatal : destination path '.' already exists...".

La solution dans ce cas est :

git init
git remote add origin git@github.com:me/name.git
git pull origin master

Cette recette fonctionne même s'il y a d'autres répertoires dans celui où vous voulez passer à la caisse.

0 votes

Hé dans ce cas, je reçois une erreur comme Permission refusée <clé publique>. L'extrémité distante a raccroché de manière inattendue.

0 votes

Cela ne devrait-il pas être github.com après git remote ... et pas seulement github ?

6 votes

Cette réponse aurait dû être acceptée une. fonctionne parfaitement.

41voto

Tomas Zemanovic Points 41

Si le dossier n'est pas vide, une version légèrement modifiée de la réponse de @JohnLittle a fonctionné pour moi :

git init
git remote add origin https://github.com/me/name.git
git pull origin master

Comme l'a souligné @peter-cordes, la seule différence est l'utilisation du protocole https au lieu de git, pour lequel vous devez avoir Clés SSH configurées .

0 votes

Quelle version de git utilisez-vous ? Cela n'a pas fonctionné pour moi. Il ne me laisse toujours pas le configurer parce que le répertoire n'est pas vide.

0 votes

@guribe94 version git 2.5.0

4 votes

C'est la même réponse, mais en utilisant anonymous https au lieu de git-protocol over ssh (ce qui nécessite un compte github avec une paire de clés ssh configurée).

20voto

Laurent Pireyn Points 3737

Vous pouvez spécifier le répertoire de destination comme second paramètre de la commande git clone la commande, donc vous pouvez le faire :

git clone <remote> .

Ceci clonera le référentiel directement dans le répertoire local actuel.

1voto

grandrr Points 21

J'utilise ce logiciel pour cloner un projet sur le serveur j'ai eu le même problème, la solution est simple - pas besoin de créer un projet git. il suffit de cloner avec la commande clone ".".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X