1、安装git
git官网:https://git-scm.com
git下载地址(windows版本):https://github.com/git-for-windows/git/releases/download/v2.37.3.windows.1/Git-2.37.3-64-bit.exe
macOS安装(通过Homebrew直接安装):brew install git
2、github设置ssh登录
首先,为什么要设置ssh登录呢?因为,通过git从GitHub上clone源码需要登陆,而登录的方式中,比较方便和安全的一种方式就是ssh的方式。
其次,ssh是通过公钥和私钥的方式来登录的。
原理:ssh登录实际就是先在本地计算机上产生一对密钥,然后我们只需要将公钥设置到GitHub上就可以了,这样,我们每次通过git从GitHub上clone代码的时候,git都会带上我们的私钥,然后和GitHub上的公钥匹配,然后确认我们是否有权限clone代码。
通过以上的介绍,可以知道连接到GitHub设置ssh的步骤大致可以分为几步:1.本机产生一对密钥、2.将公钥设置到GitHub、3.本机登录。
(1)、本机产生一对密钥
在本机的git中设置gitHub的账户和邮箱:
git config --global user.name "账户名"
git config --global user.email "邮箱"
生成一对密钥:
ssh-keygen -t rsa -C "邮箱"
会提示:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa):
提示的意思是:正在创建公钥和私钥,然后让输入密钥文件存储的位置,默认是(/c/Users/xxx/.ssh/id_rsa),一般直接回车,使用默认路径。
会提示输入密码:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
提示的意思是:输入密码,空就表示没有密码,然后确认输入同样的密码。
会提示:
Your identification has been saved in C:\Users\Administrator/.ssh/id_rsa.
Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ZFSxUFCwFqYp4HbyHmvkrYzf1yECGLKN/5+aJh35s4w 695096674@qq.com
The key's randomart image is:
+---[RSA 3072]----+
| . B*=. |
|.... = + . |
| =+oo o = . |
|o.o+.. + |
| . +o S |
| .+o+. . . |
| o=o.. o . |
| .++*o.. . |
| .+Eo*+ |
+----[SHA256]-----+
提示的意思是:你的证书已经被存在:C:\Users\Administrator/.ssh/id_rsa,你的公钥已经被存在:C:\Users\Administrator/.ssh/id_rsa.pub
到此:本计算机上的公钥和私钥已经生成成功。
(2)、在GitHub上设置本计算机的公钥
右上角个人图标 -> Setting -> SSH and GPG keys -> New SSH key
输入数据:
Title:该SSH的名字
Key:本计算机生成的公钥(id_rsa.pub)复制到此处
点击:Add SSH key完成公钥本计算机公钥配置
3、本计算机登陆
输入:
ssh -T git@github.com
会提示:
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
提示的意思是:github.com不能订阅,如果确认继续连接就输入yes
如果提示:Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.表示SSH登陆成功。