git clone depuis un autre répertoire

156

J'essaye de cloner le repo à partir d'un autre répertoire.

Disons que j'ai un repo C:/folder1etC:/folder2

Je veux cloner le travail folder1dans folder2.

Que dois-je taper dans l'invite de commande pour ce faire?

Il semble que souvent, lors du clonage, une URL soit fournie plutôt qu'un chemin de fichier, cependant, pour le moment, je m'exerce simplement et j'essaie de m'habituer à Git.

RechercheAlpha
la source
4
vous pouvez utiliser git clone C:\folder1\.git folder2. Vous devez l'exécuter à partir du répertoire dans lequel vous voulez que le dossier 2 apparaisse
Akash Agrawal
Si vous êtes dans Windows et que cela ne fonctionne toujours pas, vous devrez peut-être ajouter `file: \` au chemin du référentiel. Voir ce stackoverflow.com/questions/37422428/…
Jacob H

Réponses:

173
cd /d c:\
git clone C:\folder1 folder2

De la documentation pourgit clone :

Pour les référentiels locaux, également pris en charge par git nativement, les syntaxes suivantes peuvent être utilisées:

/path/to/repo.git/

file:///path/to/repo.git/

Ces deux syntaxes sont pour la plupart équivalentes, sauf que la première implique l'option --local.

Chris
la source
4
@grahamesd, vraiment vous n'avez pas besoin de mapper un dossier réseau en tant que lecteur car GIT peut le cloner assez bien de cette manière:git clone //pc_name/git
vladimir_ki
18

Aucun de ceux-ci n'a fonctionné pour moi. J'utilise git-bash sur Windows. J'ai découvert que le problème était lié au formatage de mon chemin de fichier.

FAUX:

git clone F:\DEV\MY_REPO\.git

CORRECT:

git clone /F/DEV/MY_REPO/.git

Ces commandes sont effectuées à partir du dossier dans lequel vous souhaitez que le dossier du référentiel apparaisse.

JMI MADISON
la source
La commande suivante fonctionne dans bash: git clone F: \ DEV \ MY_REPO
M.Hassan
Pour git-bash, vous pouvez utiliser une barre oblique inverse /ou une double barre oblique `\\`. Mais pas de barre oblique unique.
Elad Weiss
15

Il est à noter que la commande fonctionne de la même manière sous Linux:

git clone path/to/source/folder path/to/destination/folder
Yasir Jan
la source
7

C'est aussi simple que ça en a l'air.

14:27:05 ~$ mkdir gittests
14:27:11 ~$ cd gittests/
14:27:13 ~/gittests$ mkdir localrepo
14:27:20 ~/gittests$ cd localrepo/
14:27:21 ~/gittests/localrepo$ git init
Initialized empty Git repository in /home/andwed/gittests/localrepo/.git/
14:27:22 ~/gittests/localrepo (master #)$ cd ..
14:27:35 ~/gittests$ git clone localrepo copyoflocalrepo
Cloning into 'copyoflocalrepo'...
warning: You appear to have cloned an empty repository.
done.
14:27:42 ~/gittests$ cd copyoflocalrepo/
14:27:46 ~/gittests/copyoflocalrepo (master #)$ git status
On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)
14:27:46 ~/gittests/copyoflocalrepo (master #)$ 
Andreas Wederbrand
la source
7

Si vous avez de l'espace dans votre chemin, mettez-le entre guillemets:

$ git clone "//serverName/New Folder/Target" f1/
Yar
la source
3

Utilisation git clone c:/folder1 c:/folder2

git clone [--template=<template_directory>] [-l] [-s] [--no-hardlinks]
[-q] [-n] [--bare] [--mirror] [-o <name>] [-b <name>] [-u <upload-pack>]
[--reference <repository>] [--separate-git-dir <git dir>] [--depth <depth>]
[--[no-]single-branch] [--recursive|--recurse-submodules] [--]<repository>
[<directory>]


<repository>

    The (possibly remote) repository to clone from.
    See the URLS section below for more information on specifying repositories.
<directory>

    The name of a new directory to clone into.
    The "humanish" part of the source repository is used if no directory 
    is explicitly given (repo for /path/to/repo.git and foo for host.xz:foo/.git).
    Cloning into an existing directory is only allowed if the directory is empty.
Doigts qui saignent
la source
0

J'utilise git-bash dans windows.Le moyen le plus simple est de changer l'adresse du chemin pour avoir les barres obliques:

git clone C:/Dev/proposed 

PS: Démarrez le git-bash sur le dossier de destination.

Chemin utilisé dans le clone ---> c: / Dev / proposé

Chemin d'origine dans Windows ---> c: \ Dev \ proposé

Mahmoud
la source
0

Utiliser le chemin lui-même n'a pas fonctionné pour moi.

Voici ce qui a finalement fonctionné pour moi sur MacOS:

cd ~/projects
git clone file:///Users/me/projects/myawesomerepo myawesomerepocopy

Cela a également fonctionné:

git clone file://localhost/Users/me/projects/myawesomerepo myawesomerepocopy

Le chemin lui-même fonctionnait si je faisais ceci:

git clone --local myawesomerepo myawesomerepocopy
Kris Larson
la source
Oui, l'exemple de l'OP est Windows, mais la question n'est pas étiquetée Windows, j'ai donc posté dans l'espoir d'aider les utilisateurs de Mac
kris larson le