git clone з іншого каталогу


156

Я намагаюся клонувати репо з іншого каталогу.

Припустимо , у мене є один репозиторій в C:/folder1іC:/folder2

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

Що я б набрав у командному рядку для цього?

Здається, що часто клонування URL-адреси надається, а не шлях до файлу, проте в цей момент я просто практикую і намагаюся використати Git.


4
ви можете використовувати git clone C:\folder1\.git folder2. Запустити її потрібно з каталогу, де ви хочете, щоб папка2 з’явилася
Akash Agrawal

Якщо ви знаходитесь у Windows, і він все ще не працює, можливо, вам потрібно буде додати `file: \` до шляху сховища. Дивіться це stackoverflow.com/questions/37422428/…
Яків H

Відповіді:


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

З документації дляgit clone :

Для локальних сховищ, які також підтримуються git нативно, можуть використовуватися такі синтаксиси:

/path/to/repo.git/

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

Ці два синтаксиси здебільшого рівнозначні, за винятком колишнього, випливає - місцевий варіант.


4
@grahamesd, насправді вам не потрібно картографувати мережеву папку, як накопичувач, оскільки GIT може клонувати її досить добре таким чином:git clone //pc_name/git
vladimir_ki

18

Жоден із них не працював на мене. Я використовую git-bash на windows. Виявив, що проблема полягала у форматуванні мого шляху до файлу.

WRONG:

git clone F:\DEV\MY_REPO\.git

ПРАВИЛЬНО:

git clone /F/DEV/MY_REPO/.git

Ці команди виконуються з папки, в якій потрібно відобразити папку repo.


У баші працює наступна команда: git clone F: \ DEV \ MY_REPO
M.Hassan

Для git-bash можна використовувати зворотну косу рису /або подвійну косу рису "\\". Але жодної косої риски.
Elad Weiss

15

Варто зазначити, що команда працює аналогічно і в Linux:

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

7

Це так просто, як виглядає.

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

Якщо у вас є місце на шляху, оберніть його подвійними лапками:

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

3

Використовуйте 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

Я використовую git-bash у windows. Найпростіший спосіб - змінити адресу шляху, щоб мати перерізання вперед:

git clone C:/Dev/proposed 

PS: Запустіть git-bash у папці призначення.

Шлях, використаний у клоні ---> c: / Dev / запропоновано

Оригінальний шлях у Windows ---> c: \ Dev \ запропоновано


0

Використання самого шляху для мене не вийшло.

Ось що, нарешті, працювало для мене на MacOS:

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

Це також спрацювало:

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

Сам шлях працював, якщо я це робив:

git clone --local myawesomerepo myawesomerepocopy

Так, приклад ОП - це Windows, але це питання не позначене Windows, тому я розмістив надію на допомогу користувачам Mac
Кріс Ларсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.