git从另一个目录克隆

368yc8dk  于 2022-11-27  发布在  Git
关注(0)|答案(8)|浏览(135)

我正在尝试从另一个目录克隆repo。
假设我在C:/folder1C:/folder2中有一个存储库
我想把folder1中的作品克隆到folder2中。
我应该在命令提示符中键入什么来执行此操作?
看起来通常克隆时提供的是URL而不是文件路径,然而,此时此刻我只是在练习并尝试使用Git。

xcitsw88

xcitsw881#

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

git clone的文档中:
对于本地仓库,git本身也支持,可以使用以下语法:

/path/to/repo.git/

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

这两种语法大部分是等效的,只是前者隐含了--local选项。

g52tjvyc

g52tjvyc2#

值得一提的是,该命令在Linux上的工作方式与此类似:

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

k7fdbhmy3#

这些都对我不起作用。我在windows上使用git-bash。发现问题是我的文件路径格式。
错误:

git clone F:\DEV\MY_REPO\.git

正确答案:

git clone /F/DEV/MY_REPO/.git

这些命令是在您希望存储库文件夹出现的文件夹中执行的。

iqjalb3h

iqjalb3h4#

看起来很简单。

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

rryofs0p5#

如果路径中有空格,请用双引号括起来:

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

pcww981p6#

使用路径本身对我不起作用。
以下是我在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
4si2a6ki

4si2a6ki7#

使用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.
ukqbszuj

ukqbszuj8#

我在windows中使用git-bash。
最简单的解决方案是将源文件夹路径中的\替换为正斜杠(/):
示例:c:\dev\source将变为c:/dev/source
1.在目标文件夹上启动git-bash。
1.使用正斜杠源文件夹路径运行git克隆:
git clone c:/dev/source

相关问题