我在做:
git clone ssh://user@host.com/home/user/private/repos/project_hub.git ./
我得到:
致命:目标路径'。’已经存在,不是空的 目录中。
我知道路。已经存在。 我可以保证这个目录是空的。(我在里面,我什么都看不到!)
为了将该项目克隆到当前目录,我在这里遗漏了什么?
我在做:
git clone ssh://user@host.com/home/user/private/repos/project_hub.git ./
我得到:
致命:目标路径'。’已经存在,不是空的 目录中。
我知道路。已经存在。 我可以保证这个目录是空的。(我在里面,我什么都看不到!)
为了将该项目克隆到当前目录,我在这里遗漏了什么?
当前回答
为了确保你可以克隆这个repo,转到任何临时目录并在那里克隆项目:
git clone ssh://user@host.com/home/user/private/repos/project_hub.git
这将把你的东西克隆到project_hub目录中。
一旦克隆完成,你可以把这个目录移动到任何你想要的地方:
mv project_hub /path/to/new/location
这是安全的,不需要任何神奇的东西。
其他回答
只要在旁边加个点就可以了
git clone git@github.com:user/my-project.git .
从git帮助克隆:
仅当现有目录为空时才允许克隆到该目录。
因此,确保目录为空(使用ls -a检查),否则命令将失败。
shopt -s dotglob
git clone ssh://user@host.com/home/user/private/repos/project_hub.git tmp && mv tmp/* . && rm -rf tmp
以下是我的发现:
我看到了这个:
fatal: destination path 'CouchPotatoServer' already exists and is not an empty directory.
在我的搜索中,我偶然发现:
https://couchpota.to/forum/viewtopic.php?t=3943
看看Clinton.Hall的词条… 如果你尝试这样做(就像我做的那样),你可能会得到访问拒绝响应,这是我的第一个线索,所以最初的错误(对我来说),实际上是逃避到错误的根本问题。
在windows中解决此问题: 确保运行CMD或git elevated,然后运行:
git clone https://github.com/RuudBurger/CouchPotatoServer.git
以上就是我的问题,简单地提升对我来说很有效。
解决方法是用圆点, 所以:
rm -rf .* && git clone ssh://user@host.com/home/user/private/repos/project_hub.git .`
Rm -rf .* &&可以省略,如果我们绝对确定目录是空的。
获奖者: @James McLaughlin评论
@Andrew已经清楚地回答了这个问题。但是,即使目录不是空的,也可以像这样简单:
git init .
git remote add origin <repository-url>
git pull origin master