我有一个项目,我创建了一个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目录已经存在,并且不是空目录。
但我看到小路上空无一人。
这是怎么回事?
这可能与问题直接无关;但是我犯了一个错误,我在OP中看到,是URL规范ssh://user@server:/GitRepos/myproject。Git -也就是说,它后面有冒号:和正斜杠/,表示绝对路径。
然后我发现Git克隆,ssh:无法解析主机名- Git,开发- Nicolas Kuttler(因为这是我在Git版本1.7.9.5上得到的错误),并指出:
我最初使用的命令的问题是,我试图使用类似scp的语法。
... 这也是我的问题!在git和ssh中,你要么使用
ssh://username@host.xz/absolute/path/to/repo.git/ -只是服务器上绝对路径的正斜杠
username@host.xz:relative/path/to/repo.git/ -只是一个冒号(它不能有ssh://作为服务器上的相对路径(相对于服务器机器上用户名的home目录)
做这个问题很简单
试试这个。
步骤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)使用这两个密钥。