git clone de otro directorio


156

Estoy tratando de clonar repositorio desde otro directorio.

Digamos que tengo un repositorio C:/folder1yC:/folder2

Quiero clonar el trabajo en folder1en folder2.

¿Qué escribiría en el símbolo del sistema para hacer esto?

Parece que a menudo cuando se proporciona la clonación de una URL en lugar de una ruta de archivo, en este momento solo estoy practicando e intentando acostumbrarme a Git.


44
puedes usar git clone C:\folder1\.git folder2. Debe ejecutarlo desde el directorio donde desea que aparezca la carpeta2
Akash Agrawal

Si está en Windows y todavía no funciona, es posible que deba anteponer `file: \` a la ruta del repositorio. Vea este stackoverflow.com/questions/37422428/…
Jacob H

Respuestas:


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

De la documentación paragit clone :

Para los repositorios locales, también soportados por git nativamente, se pueden usar las siguientes sintaxis:

/path/to/repo.git/

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

Estas dos sintaxis son en su mayoría equivalentes, excepto que la primera implica una opción local.


44
@grahamesd, realmente no es necesario asignar una carpeta de red como una unidad debido a GIT puede clonar su buena bastante de tal manera:git clone //pc_name/git
vladimir_ki

18

Ninguno de estos funcionó para mí. Estoy usando git-bash en windows. Descubrí que el problema era con mi formato de ruta de archivo.

INCORRECTO:

git clone F:\DEV\MY_REPO\.git

CORRECTO:

git clone /F/DEV/MY_REPO/.git

Estos comandos se realizan desde la carpeta en la que desea que aparezca la carpeta repositorio.


El siguiente comando está funcionando en bash: git clone F: \ DEV \ MY_REPO
M.Hassan

Para git-bash puede usar la barra invertida /o la barra doble `\\`. Pero no una sola barra.
Elad Weiss

15

Vale la pena mencionar que el comando funciona de manera similar en Linux:

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

7

Es tan fácil como 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 #)$ 

7

En caso de que tenga espacio en su camino, envuélvalo entre comillas dobles:

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

3

Utilizar 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

Estoy usando git-bash en windows. La forma más simple es cambiar la dirección de la ruta para tener las barras diagonales:

git clone C:/Dev/proposed 

PD: Inicie git-bash en la carpeta de destino.

Ruta utilizada en el clon ---> c: / Dev / propuesto

Ruta original en windows ---> c: \ Dev \ propuesto


0

Usar el camino en sí no funcionó para mí.

Esto es lo que finalmente funcionó para mí en MacOS:

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

Esto también funcionó:

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

El camino en sí funcionó si hice esto:

git clone --local myawesomerepo myawesomerepocopy

Sí, el ejemplo del OP es Windows, pero la pregunta no está etiquetada como Windows, así que publiqué con la esperanza de ayudar a los usuarios de Mac
kris larson el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.