git clone dari direktori lain


156

Saya mencoba untuk mengkloning repo dari direktori lain.

Katakanlah saya punya satu repo di C:/folder1danC:/folder2

Saya ingin mengkloning pekerjaan di folder1dalam folder2.

Apa yang akan saya ketik pada command prompt untuk melakukan ini?

Tampaknya sering ketika kloning URL disediakan daripada path file, namun, pada saat ini saya hanya berlatih dan mencoba membiasakan diri dengan Git.


4
Anda dapat menggunakan git clone C:\folder1\.git folder2. Anda perlu menjalankannya dari direktori tempat Anda ingin folder2 muncul
Akash Agrawal

Jika Anda berada di windows dan masih tidak berfungsi, Anda mungkin perlu menambahkan `file: \` ke jalur repositori. Lihat ini stackoverflow.com/questions/37422428/...
Jacob H

Jawaban:


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

Dari dokumentasi untukgit clone :

Untuk repositori lokal, juga didukung oleh git secara asli, sintaks berikut dapat digunakan:

/path/to/repo.git/

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

Kedua sintaksis ini sebagian besar sama, kecuali yang pertama menyiratkan opsi --local.


4
@ grahamesd, sungguh Anda tidak perlu memetakan folder jaringan sebagai drive karena GIT dapat mengkloningnya dengan cukup baik:git clone //pc_name/git
vladimir_ki

18

Tak satu pun dari ini bekerja untuk saya. Saya menggunakan git-bash di windows. Mengetahui masalahnya adalah dengan pemformatan jalur file saya.

SALAH:

git clone F:\DEV\MY_REPO\.git

BENAR:

git clone /F/DEV/MY_REPO/.git

Perintah-perintah ini dilakukan dari folder tempat Anda ingin folder repo muncul.


Perintah berikut bekerja di bash: git clone F: \ DEV \ MY_REPO
M.Hassan

Untuk git-bash Anda dapat menggunakan backslash /atau double slash `\\`. Tapi tidak ada tebasan.
Elad Weiss

15

Perlu disebutkan bahwa perintah tersebut bekerja dengan cara yang sama di Linux:

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

7

Ini semudah kelihatannya.

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

Jika Anda memiliki ruang di jalur Anda, bungkus dengan tanda kutip ganda:

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

3

Menggunakan 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

Saya menggunakan git-bash di windows. Cara paling sederhana adalah mengubah alamat path untuk memiliki garis miring:

git clone C:/Dev/proposed 

PS: Mulai git-bash pada folder tujuan.

Jalur yang digunakan dalam klon ---> c: / Dev / diusulkan

Path asli di windows ---> c: \ Dev \ diusulkan


0

Menggunakan jalan itu sendiri tidak berhasil untuk saya.

Inilah yang akhirnya berhasil untuk saya di MacOS:

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

Ini juga berhasil:

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

Jalan itu sendiri berfungsi jika saya melakukan ini:

git clone --local myawesomerepo myawesomerepocopy

Ya, contoh OP adalah Windows, tetapi pertanyaannya tidak menandai Windows, jadi saya memposting dengan harapan membantu pengguna Mac
kris larson
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.