从代码仓库中克隆代码的时候,既可以选择https协议,也可以选择 ssh 协议。
使用 git clone xxx.git 一般可以直接拉取,但是 git clone ssh://xxx.git 的时候,会提示拉取失败.
SSH 和 HTTPS
SSH 指安全外壳协议(Secure Shell),是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。
- HTTPS 使用的是 443 端口,只要有账号密码就可进行操作,通过用户名和密码授权,可用性比较高。push 代码的时候,需要验证用户名和密码。
- SSH 使用的是 22 端口,需要在拉取代码之前配置 SSH KEY,并 在 Github 上进行配置。push 代码的时候,不需要验证用户名和密码。
使用 SSH 拉取代码
安装 Git 工具库后,使用 Git bash 来运行如下的命令:
1、进入 Git Bash的窗口,输入指令进入服务器的对应目录:
cd ~/.ssh
或者直接输入命令查看是否存在公钥:
ls -al ~/.ssh
如果没有公钥,使用如下指令生成。邮箱地址外记得加引号:
ssh-keygen -t rsa -C "邮箱地址"
配置用户名和邮箱:
2、执行后会出现如下操作步骤,如果不输入,在这里直接回车即可(即选择默认配置,这样不需要每次在提交代码前设置密码):
注:如果上述步骤没有使用默认配置,则需要手动配置 ssh 连接时指定的密钥。
3、到了这一步骤后,输入 ls 再次查看,此时已生成了相应的文件:
- id_rsa(私)
- id_rsa.pub(公)
4、查看公钥,复制公钥的内容:
5、登录 Gitlab ,点击头像,进入 Edit Profile 页面,配置 SSH Keys
6、 查看本地的ssh remote url
git remote -v
如果地址是 https
开头,表示是 https 协议进行访问的;如果地址是 git
开头表示是 git
协议
7、在 Git 中复制项目地址 (Clone with SSH)。使用 git clone 指令下载代码:
git clone git@xxx