clona git da un'altra directory


156

Sto cercando di clonare repository da un'altra directory.

Diciamo che ho un repository in C:/folder1eC:/folder2

Voglio clonare il lavoro folder1in folder2.

Cosa digitarei nel prompt dei comandi per fare questo?

Sembra che spesso quando si clona un URL piuttosto che un percorso di file, tuttavia, in questo momento mi sto solo esercitando e provando ad abituarmi a Git.


4
puoi usare git clone C:\folder1\.git folder2. Devi eseguirlo dalla directory in cui vuoi che appaia cartella2
Akash Agrawal,

Se sei in Windows e continua a non funzionare, potrebbe essere necessario anteporre `file: \` al percorso del repository. Vedi questo stackoverflow.com/questions/37422428/…
Jacob H

Risposte:


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

Dalla documentazione pergit clone :

Per i repository locali, supportati anche da git in modo nativo, possono essere usate le seguenti sintassi:

/path/to/repo.git/

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

Queste due sintassi sono per lo più equivalenti, tranne la prima implica l'opzione --local.


4
@grahamesd, davvero non è necessario mappare una cartella di rete come unità perché GIT può clonare abbastanza bene in questo modo:git clone //pc_name/git
vladimir_ki il

18

Nessuno di questi ha funzionato per me. Sto usando git-bash su Windows. Ho scoperto che il problema era con la mia formattazione del percorso del file.

SBAGLIATO:

git clone F:\DEV\MY_REPO\.git

CORRETTA:

git clone /F/DEV/MY_REPO/.git

Questi comandi vengono eseguiti dalla cartella in cui si desidera visualizzare la cartella Repos.


Il seguente comando sta funzionando in bash: clone git F: \ DEV \ MY_REPO
M.Hassan,

Per git-bash puoi usare sia la barra rovesciata /che la doppia barra `\\`. Ma nessuna singola barra.
Elad Weiss,

15

Vale la pena ricordare che il comando funziona in modo simile su Linux:

git clone path/to/source/folder path/to/destination/folder

7

È facile come sembra.

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 #)$ 

7

Se hai spazio nel tuo percorso, avvolgilo tra virgolette doppie:

$ git clone "//serverName/New Folder/Target" f1/

3

Uso 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.

0

Sto usando git-bash in Windows. Il modo più semplice è cambiare l'indirizzo del percorso per avere le barre:

git clone C:/Dev/proposed 

PS: avvia git-bash nella cartella di destinazione.

Percorso utilizzato nel clone ---> c: / Dev / proposti

Percorso originale in Windows ---> c: \ Dev \ proposto


0

L'uso del percorso stesso non ha funzionato per me.

Ecco cosa ha funzionato finalmente per me su MacOS:

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

Questo ha funzionato anche:

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

Il percorso stesso ha funzionato se ho fatto questo:

git clone --local myawesomerepo myawesomerepocopy

Sì, l'esempio dell'OP è Windows, ma la domanda non è taggata Windows, quindi ho pubblicato nella speranza di aiutare gli utenti Mac
kris larson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.