git clone จากไดเรกทอรีอื่น


156

ฉันพยายามโคลน repo จากไดเรกทอรีอื่น

ให้บอกว่าฉันมี repo หนึ่งC:/folder1และC:/folder2

ฉันต้องการที่จะโคลนทำงานในเข้าไปfolder1folder2

ฉันจะพิมพ์อะไรในพรอมต์คำสั่งเพื่อทำสิ่งนี้

ดูเหมือนว่าบ่อยครั้งเมื่อมีการจัดทำ URL ให้มากกว่าเส้นทางของไฟล์อย่างไรก็ตามในขณะนี้ฉันเพิ่งฝึกฝนและพยายามใช้ Git


4
git clone C:\folder1\.git folder2คุณสามารถใช้ คุณต้องเรียกใช้จากไดเรกทอรีที่คุณต้องการให้ folder2 ปรากฏ
Akash Agrawal

หากคุณอยู่ใน windows และยังใช้งานไม่ได้คุณอาจต้องเตรียม `file: \ 'ไปยังที่เก็บพา ธ ดูstackoverflow.com/questions/37422428/
Jacob H

คำตอบ:


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

จากเอกสารสำหรับgit clone :

สำหรับที่เก็บโลคัลได้รับการสนับสนุนโดย git ดั้งเดิมอาจใช้ไวยากรณ์ต่อไปนี้:

/path/to/repo.git/

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

ไวยากรณ์ทั้งสองนี้ส่วนใหญ่เทียบเท่ากันยกเว้นตัวเลือกนัย --local ในอดีต


4
@grahamesd จริง ๆ แล้วคุณไม่จำเป็นต้องแมปโฟลเดอร์เครือข่ายเป็นไดรฟ์เพราะ GIT สามารถโคลนได้ดีในลักษณะเช่นนี้:git clone //pc_name/git
vladimir_ki

18

สิ่งเหล่านี้ไม่เหมาะกับฉัน ฉันใช้ git-bash บน windows พบปัญหาคือการจัดรูปแบบเส้นทางไฟล์ของฉัน

ไม่ถูกต้อง:

git clone F:\DEV\MY_REPO\.git

แก้ไข:

git clone /F/DEV/MY_REPO/.git

คำสั่งเหล่านี้ทำจากโฟลเดอร์ที่คุณต้องการให้โฟลเดอร์ repo ปรากฏขึ้น


คำสั่งต่อไปนี้ทำงานเป็น bash: git clone F: \ DEV \ MY_REPO
M.Hassan

สำหรับ git-bash คุณสามารถใช้ backslash /หรือ double slash `\\ ' แต่ไม่มีการเฉือนเดี่ยว
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

ใช่ตัวอย่างของ OP คือ Windows แต่คำถามไม่ได้ติดแท็ก Windows ดังนั้นฉันโพสต์ด้วยความหวังว่าจะช่วยผู้ใช้ Mac
kris larson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.