2014-01-10 3 views
75

Я пытаюсь клонировать репо из другого каталога.git clone из другого каталога

Допустим, у меня есть один репозиторий в C:/folder1 и C:/folder2

Я хочу, чтобы клонировать работу в folder1 в folder2.

Что бы я набрал в командной строке для этого?

Похоже, что при клонировании URL-адреса предоставляется скорее путь к файлу, но в данный момент я просто практикую и пытаюсь использовать Git.

+2

вы можете использовать 'мерзавец клон C: \ folder1 \ .git папка2'.Вам нужно запустить его из каталога, в котором должна появиться папка2 –

+0

Если вы находитесь в Windows и все еще не работаете, вам может потребоваться добавить файл ': \\' в путь репозитория. См. Этот https://stackoverflow.com/questions/37422428/git-internal-error-refs-remotes-origin-master-is-not-a-valid-packed-reference –

ответ

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

Из documentation for git clone:

для локальных хранилищ, также поддерживаемых Git изначально, могут быть использованы следующие синтаксисов:

/path/to/repo.git/ 

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

Эти два синтаксисов в основном эквивалентны , за исключением того, что первый подразумевает - локальный вариант.

+4

@grahamesd, на самом деле вам не нужно отображать сетевая папка как диск из-за GIT может клонировать ее довольно хорошо: git clone // pc_name/git' –

2

Использование 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. 
5

Это так просто, как это выглядит.

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

В случае, если у вас есть место в вашем пути, завернуть его в двойные кавычки:

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

Ни один из них не работает для меня. Я использую git-bash для окон. Обнаружена проблема с форматированием пути к файлу.

НЕПРАВИЛЬНО:

git clone F:\DEV\MY_REPO\.git 

ПРАВИЛЬНО:.

git clone /F/DEV/MY_REPO/.git 

Эти команды выполняются из папки, которую папка репо появится в

+0

Следующая команда работает в bash: git clone F: \ DEV \ MY_REPO –

1

Стоит отметить, что команда работ аналогично по Linux:

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

Я использую ГИТ-Баш в Windows.The простой способ, чтобы изменить адрес путь, чтобы иметь прямую косую черту:

git clone C:/Dev/proposed 

P.S: Запуск ГИТ-Баш на папку назначения.

Path используется в клоне ---> C:/Dev/предложил

Оригинальный путь в окнах ---> C: \ Dev \ предложил