我有一个项目,我创建了一个git存储库:

$ cd myproject  
$ git init  
$ git add .  
$ git commit  

我想在另一台机器上创建一个裸克隆:

$ cd ..  
$ git clone --bare myproject  ssh://user@server:/GitRepos/myproject.git  

我执行了克隆,但没有打印任何答案。 我登录到服务器上,试图查看文件是如何存储的。路径/GitRepos是空的,所以我决定再次克隆:

$ git clone --bare myproject  ssh://user@server:/GitRepos/myproject.git

这一次的答案是:

ssh://user@server:/GitRepos/myproject。Git目录已经存在,并且不是空目录。

但我看到小路上空无一人。 这是怎么回事?


当前回答

免责声明:这只是bobbaluba评论的副本,以便将来的访问者更容易看到。这比其他任何答案都更有用。


以git clone为例,必须去掉ssh://前缀

git clone git@github.com:owner/repo.git

其他回答

对于GitHub上的存储库,请尝试:

git clone ssh://git@github.com/<user>/<repository name>.git

通过ssh设置git克隆参见:

生成SSH密钥并在“帐户设置-> SSH密钥”中添加生成的密钥 SSH克隆

我说: “/GITREPOSITORIES/RepoA”“ssh://luc@EERSTENASDS119J/volume1/RepoA” 结果: fatal:目标路径“ssh://luc@EERSTENASDS119J/volume1/RepoA”已经存在,并且不是空目录。

系统在当前路径下创建了一个目录ssh://luc@EERSTENASDS119J/volume1/RepoA。

所以git克隆没有解释URL规范。 使用亚历克的变通方法。

首先,我的GIT技能有点欠缺。

这将在您的机器上克隆一个裸存储库,其中只包含.git中的文件夹,这是一个隐藏目录。执行ls -al,您应该会在存储库中看到.git或CD .git。

做这个问题很简单 试试这个。

步骤1:

ls -al ~/.ssh

步骤2:

ssh-keygen 

(使用enter键作为默认值) 步骤3:设置配置文件

vim /c/Users/Willie/.ssh/config

主机gitlab。com 主机gitlab。com git用户 IdentityFile ~ / . ssh / id_rsa

步骤4:

git clone git@gitlab.com:<username>/test2.git

步骤5: 当你完成第四步的时候 1.test2。Git文件将下载完成 2.您将在~/.ssh中获得新文件(known_hosts)

PS:我创建了id_rsa和id_rsa。并将其交付到Gitlab服务器。在任何客户端(windows和Linux)使用这两个密钥。

您需要在您调用的服务器上运行clone命令。但是我打赌你没有在你的本地客户端上运行ssh服务器,所以不管怎样这都行不通。建议你遵循这个方法(检查手册,因为我是凭记忆这么做的)

登录到服务器机器。 使用git init——bare创建一个裸回购 在客户端机器上,您可以将回购推到服务器。git远程添加source ssh://user@server:/GitRepos/myproject。Git后面跟着Git push origin master