我在做:
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 ./
我得到:
致命:目标路径'。’已经存在,不是空的 目录中。
我知道路。已经存在。 我可以保证这个目录是空的。(我在里面,我什么都看不到!)
为了将该项目克隆到当前目录,我在这里遗漏了什么?
当前回答
删除与
Rm -rf .*
可能会给你带来麻烦或者更多的错误。
如果你有/path/to/文件夹,并且想要删除其中的所有内容,但不删除该文件夹,只需运行:
Rm -rf /path/to/folder/* .使用实例
其他回答
以下是我的发现:
我看到了这个:
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
以上就是我的问题,简单地提升对我来说很有效。
只要在旁边加个点就可以了
git clone git@github.com:user/my-project.git .
从git帮助克隆:
仅当现有目录为空时才允许克隆到该目录。
因此,确保目录为空(使用ls -a检查),否则命令将失败。
我也有同样的需求。在我的案例中,我有一个标准的web文件夹,由web服务器安装创建。为了说明问题,我们设这是
/服务器/网络根目录
webroot还包含其他标准文件和文件夹。我的回购只是有网站特定的文件(html, javascript, CFML等)
我所要做的就是
cd /server/webroot
git init
git pull [url to my repo.git]
你需要小心在目标文件夹中初始化git,因为如果你不这样做,会发生以下两种情况之一:
在我的例子中,git拉将简单地失败,并提示没有git文件:
致命:不是一个git存储库(或任何父目录):.git
如果在你文件夹的父路径中有一个。git文件,你的拉回购将在那个包含。git文件的父路径中创建。这件事发生在我身上,我很惊讶;-)
这并没有打扰我在我的webroot文件夹中的任何“标准”文件,但我确实需要将它们添加到.gitignore文件中,以防止他们无意中添加到后续的提交。
这似乎是一种“克隆”到非空目录的简单方法。如果你不想要由pull创建的.git和.gitignore文件,只需在pull之后删除它们。
git clone your-repo tmp && mv tmp/.git . && rm -rf tmp && git reset --hard
使用$(pwd)指定绝对当前路径对我来说是可行的。
git clone https://github.com/me/myproject.git $(pwd)
Git版本:2.21.0
需要空目录,根据票证说明。
更新2022:你现在可以使用。
i.e.
git clone https://github.com/me/myproject.git .
Git版本:2.36.1