Git clone 可以选择使用 http 或者 ssh 协议来克隆远程仓库。
使用 HTTP 协议:
git clone https://github.com/user/repo.git
使用 SSH 协议:
首先需要设置 SSH 公钥,然后可以使用:
git clone [email protected]:user/repo.git
一般来说,使用 SSH 协议需要设置 SSH 公钥,但相对来说更安全和方便,不需要每次都输入用户名和密码。而使用 HTTP 协议则需要每次输入用户名和密码,相对不太方便。根据个人的需求和喜好来选择合适的协议。
一、HTTP:每次fetch和push代码都需要输入账号和密码。
二、SSH(推荐使用):每次fetch和push代码都不需要输入账号和密码,但需要在克隆之前先配置和添加好SSH key:
1、检查你的电脑上是否有SSH Key
任意地方右键打开 git bash 输入 ~/.ssh ls 命令。
如果文件已经存在,那么你可以跳过步骤a,直接进入步骤b。
a. 生成新的SSH key
**ssh-keygen -t rsa -C "[email protected]"**
生成新的rsa密钥。
ssh-keygen(基于密匙的安全验证):需要依靠密钥进行安全验证,必须为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。
-t 即指定密钥的类型。密钥的类型有两种,一种是RSA,一种是DSA。
-b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。命令中的4096指的是RSA密钥长度为4096位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
-C 表示要提供一个新注释,用于识别这个密钥。“”里面不一定非要填邮箱,可以是任何内容,邮箱仅仅是识别用的key。
[email protected] 你注册git的邮箱
执行上述命令后,系统会提示你输入文件保存路径和密码短语。如果你想直接生成没有密码的密钥,可以按回车接受默认设置。
Enter passphrase (empty for no passphrase):
就是让你输入密码,如果你设置了密码,那在你使用ssh传输文件的时候,你就要输入这个密码。为了避免麻烦,建议不用设置,直接回车。
Enter same passphrase again:
这就是让你再输入一次密码,就跟我们注册账号时候设置密码需要设置两次一样。上一步没设置密码,这里直接回车就可以了。到这里你的秘钥就设置好了,你会收到这段代码提示。
生成的密钥对包括两个文件:
私钥:
~/.ssh/id_rsa
公钥:
~/.ssh/id_rsa.pub
(将公钥
id_rsa.pub
的内容添加到Git服务器的SSH keys中,你就可以通过SSH进行认证,而不是每次都输入密码。)
b. 添加SSH Key到Git服务器
使用**
ssh-add ~/.ssh/id_rsa
**将产生的新ssh key添加到ssh-agent中。
(注:如果出现“Could not open a connection to your authentication agent.”的错误可以使用以下两种方式解决:eval "$(ssh-agent -s)" 或 **eval ssh-agent
,然后再次执行
ssh-add ~/.ssh/id_rsa
**指令)
c. 将SSH key 添加到你的GitHub账户
打开 **C:\Users\用户名.ssh **文件夹下的 id_rsa.pub 文件,复制内容(密钥)
登录你的GitLab账户 -> 点击右上角的头像,选择Settings -> 选择SSH keys 粘贴密钥 -> 点击右上角的Add SSH key
版权归原作者 明月心952 所有, 如有侵权,请联系我们删除。