我正在尝试克隆远离本地计算机的项目。
所以:
1)我导航到我想要文件的本地文件夹。
2)我连接到远程机器上的ssh: ssh something@server.webserver.com/devproject.git /
3)我执行git clone命令: git clone ssh://something@server.webserver.com/devproject.git/
我得到: 致命:目标路径'devproject'已经存在,并且不是空目录。
我的本地计算机上没有devproject。我检查并重新检查。
我错过了什么?
感谢。
答案 0 :(得分:2)
在sshing到远程计算机后键入的任何命令都在该计算机上执行,而不是在本地计算机上执行。切出第2步。
答案 1 :(得分:2)
您是在本地计算机上还是在SSH连接上执行第3步?尝试跳过第2步。
答案 2 :(得分:2)
您正在加入服务器并尝试克隆您的回购。这就是为什么你得到fatal: destination path 'devproject' already exists and is not an empty directory.
不要ssh到服务器。省略那部分。
答案 3 :(得分:0)
我不知道这是否是原因,但您的克隆网址(ssh://something@server.webserver.com/devproject.git/
)最后有一个尾部斜杠。也许这就是造成这种情况的原因?
答案 4 :(得分:0)
注意:独立于ssh问题,您可以在t/t5603-clone-dirname.sh
中看到所有可能的git clone url/arguments
。
当网址以尾随斜杠结尾时,first version of that file显示一些失败的克隆命令,git 2。4。8(2015年8月3日,2015年9月即将发布的2.5.1修复):
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
commit db2e220见commit d6a31e0,Jeff King (peff
)(2015年8月10日)
(由Junio C Hamano -- gitster
--合并于commit 52f6893,2015年8月25日)
中使用计算长度
clone
:在guess_dir_name
Commit 7e837c6(
clone
:简化guess_dir_name()
中的字符串处理,2015-07-09)将clone更改为使用strip_suffix而不是手动滚动指针操作。
但是,strip_suffix
将从NUL终止的字符串末尾删除,我们可能已经删除了一些字符(如目录分隔符或“/.git
”)。 这会产生如下命令:
git clone host:foo.git/
未能删除“
.git
”。