clone git de outro diretório

156

Estou tentando clonar repo de outro diretório.

Vamos dizer que tenho um repo C:/folder1eC:/folder2

Quero clonar o trabalho folder1em folder2.

O que eu digitaria no prompt de comando para fazer isso?

Parece que, muitas vezes, quando a clonagem de uma URL é fornecida, e não um caminho de arquivo, no momento, estou apenas praticando e tentando me acostumar com o Git.

BuscandoAlpha
fonte
4
você pode usar git clone C:\folder1\.git folder2. Você precisa executá-lo a partir do diretório onde você quer folder2 a aparecer
Akash Agrawal
Se você estiver no Windows e ele ainda não estiver funcionando, talvez seja necessário anexar `file: \` ao caminho do repositório. Veja este stackoverflow.com/questions/37422428/…
Jacob H

Respostas:

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

A partir da documentação paragit clone :

Para repositórios locais, também suportados pelo git nativamente, as seguintes sintaxes podem ser usadas:

/path/to/repo.git/

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

Essas duas sintaxes são basicamente equivalentes, exceto que a primeira implica na opção --local.

Chris
fonte
4
@grahamesd, realmente você não precisa mapear uma pasta de rede como uma unidade por causa do GIT pode clonar sua muito bom de tal maneira:git clone //pc_name/git
vladimir_ki
18

Nada disso funcionou para mim. Estou usando o git-bash no Windows. Descobri que o problema estava com a formatação do caminho do arquivo.

ERRADO:

git clone F:\DEV\MY_REPO\.git

CORRIGIR:

git clone /F/DEV/MY_REPO/.git

Esses comandos são feitos na pasta em que você deseja que a pasta de repo apareça.

JMI MADISON
fonte
O seguinte comando está funcionando no bash: git clone F: \ DEV \ MY_REPO
M.Hassan
Para o git-bash, você pode usar barra invertida /ou barra dupla \\ `. Mas nenhuma barra.
Elad Weiss 04/03
15

Vale ressaltar que o comando funciona de maneira semelhante no Linux:

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

É tão fácil quanto parece.

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
fonte
7

Caso você tenha espaço no caminho, coloque-o entre aspas duplas:

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

Usar 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.
Dedos Sangrentos
fonte
0

Estou usando o git-bash no windows. A maneira mais simples é alterar o endereço do caminho para ter as barras:

git clone C:/Dev/proposed 

PS: Inicie o git-bash na pasta de destino.

Caminho usado no clone ---> c: / Dev / proposto

Caminho original no Windows ---> c: \ Dev \ proposto

Mahmoud
fonte
0

Usar o caminho em si não funcionou para mim.

Aqui está o que finalmente funcionou para mim no MacOS:

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

Isso também funcionou:

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

O caminho em si funcionou se eu fiz isso:

git clone --local myawesomerepo myawesomerepocopy
kris larson
fonte
Sim, o exemplo do OP é o Windows, mas a pergunta não está marcada como Windows, então eu postei na esperança de ajudar os usuários de Mac
kris larson