0

我正在尝试克隆一个远程位于我的本地机器上的项目。

所以:

1) 我导航到我想要保存文件的本地文件夹。

2)我连接到远程机器上的ssh:ssh something@server.webserver.com/devproject.git/

3)我执行 git clone 命令: git clone ssh://something@server.webserver.com/devproject.git/

我得到:致命:目标路径'devproject'已经存在并且不是空目录。

我的本地机器上没有 devproject。我已经检查并重新检查。

我错过了什么?

谢谢。

4

5 回答 5

2

您在 ssh 到远程计算机后键入的任何命令都在该计算机上执行,而不是在您的本地计算机上。删掉第 2 步。

于 2011-08-25T18:13:43.040 回答
2

您是在本地计算机上还是通过 SSH 连接执行第 3 步?尝试跳过第 2 步。

于 2011-08-25T18:14:43.633 回答
2

您正在进入服务器并尝试克隆您的存储库。这就是为什么你fatal: destination path 'devproject' already exists and is not an empty directory.不要 ssh 进入服务器的原因。跳过那部分。

于 2011-08-25T18:14:57.387 回答
0

我不知道这是否是原因,但您的克隆 URL ( ssh://something@server.webserver.com/devproject.git/) 末尾有一个斜杠。也许这就是造成这种情况的原因?

于 2011-08-25T18:15:48.057 回答
0

注意:独立于 ssh 问题,您可以git clone url/argumentst/t5603-clone-dirname.sh.

当 url 以斜杠结尾时,该文件的第一个版本显示了一些失败的克隆命令,git 2.4.8(2015 年 8 月 3 日,在即将到来的 2.5.1 中修复,2015 年 9 月):

test_clone_dir ssh://host/foo.git/ foo fail
test_clone_dir ssh://host/foo.git/// foo fail
test_clone_dir host:foo.git/ foo fail
test_clone_dir host:foo.git/// foo fail

请参阅Jeff King ( )的提交 db2e220提交 d6a31e0(2015 年 8 月 10 日) 。(由Junio C Hamano 合并 -- --提交 52f6893中,2015 年 8 月 25 日)peff
gitster

clone: 使用计算长度guess_dir_name

提交 7e837c6clone:在 2015-07-09 中简化字符串处理guess_dir_name())将克隆更改为使用 strip_suffix 而不是手动滚动指针操作。
但是,strip_suffix将从 NUL 终止字符串的末尾剥离,并且我们可能已经剥离了一些字符(如目录分隔符或“ /.git”)。
这会导致如下命令:

git clone host:foo.git/

未能剥离“ .git”。


请注意,在 Git 2.34(2021 年第四季度)中,“ git submodule addman的更多部分已用 C 重写。

这涉及guess_dir_name()那些脚本使用的,并被重构:

请参阅Atharva Raykar ( ) 的提交de0fcbe、提交15fe88d提交 ba8a3b0提交 f006132提交 a6226fd提交 ed86301提交 0c61041提交 ab6f23b提交 6baf4e4(2021 年 8 月 10 日。 请参阅Junio C Hamano ( ) 的提交 59dcbb8(2021 年 8 月 10 日(由Junio C Hamano 合并 -- --提交 bbeca06中,2021 年 9 月 20 日)tfidfwastaken
gitster
gitster

dir: libify 和导出辅助函数clone.c

签字人:Atharva Raykar
指导者:Christian Couder
指导者:Shourya Shukla

这些函数对 Git 的其他部分很有用。
让我们将它们移动到dir.c,同时重命名它们以使其功能更加明确。

于 2015-08-26T07:05:54.657 回答