使用公钥方式/SSH连接GitHub

目录

一、使用公钥方式步骤

1、去github创建仓库

2、使用git在本地创建公钥和私钥

3、在github上配置本地公钥

4、测试

5、使用git上传代码

二、可能出现的一些错误

1、没有匹配到任何资源

2、git找不到本地仓库

3、提交没授权


一、使用公钥方式步骤

1、去github创建仓库

如果还没有github账号,请先申请github账号,过程过于简单,此处不在详述。

在github创建远程仓库操作如上图所示,点击创建仓库后,会出现如下界面,提示一些初始化操作的命令

2、使用git在本地创建公钥和私钥

此处需要安装git,详细的git安装教程可以参考这篇文章:https://www.jianshu.com/p/a152f82c5e4a

本文此处演示使用Windows版本,打开git,输入下方命令,生成秘钥

$ ssh-keygen -t rsa -C "your_email@youremail.com"

出现下图提示,说明本地秘钥生成成功。

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
Created directory '/c/Users/Administrator/.ssh'.
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:/uxaNgC1gXzFSQFugBg7RzLTSoBbrl2z0iZVBaCbTvM 2287979917@qq.com
The key's randomart image is:
+---[RSA 3072]----+
|o.=+o+o+==+o     |
|. +Bo ++.oo      |
| =+.....+        |
|. o=+  o         |
| o=+ o  S        |
|.o+o+  . .       |
|  .+E   . +      |
|         = .     |
|        .o+      |
+----[SHA256]-----+

信息中给出了公钥和私钥所在的地址:

私钥: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.

如图,在本地电脑.ssh文件夹下生成了一对公钥和私钥,公钥需要粘贴到gitbub上,建立和github的连接

3、在github上配置本地公钥

将上边生成的公钥,使用txt文档打开后,复制粘贴到github,如图操作

注:如果找不到setting,请点击头像标识

 点击Add SSH Key 后,如下图,成功添加公钥,在github上可以添加多个公钥

 4、测试

为了验证本地是否能成功连接到github,输入以下命令进行验证

$ ssh -T git@github.com

如果出现以下提示,说明本地连接到github成功,接下来就可以尝试进行代码上传了

The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Hi swadian2018! You've successfully authenticated, but GitHub does not provide shell access.

5、使用git上传代码

(1)初始化git本地仓库

在需要上传的项目文件夹下,打开git命令窗口,输入如下git初始化命令,初始化git本地仓库

$ git init

出现如下提示说明本地仓库初始化成功

Initialized empty Git repository in D:/IdeaWorkSpase/springbootdemo/.git/

初始化后,文件夹下会多了一个.git的隐藏文件夹,如下图所示:

创建git用户:尝试连接成功后,我们需要在git上创建连接的用户,--global代表全局使用。

$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"

此处的“your name”使用的是刚注册的github的name,E-mail也是注册github的e-mail(当然你也可以使用别的name和e-mail,这个只是使用git时需要创建一个用户信息,另,需要修改用户信息时,直接使用原命令覆盖就可以了^_^)

(2)执行初始化命令

输入完成后,回到github创建仓库后的页面,执行初始化命令,在...or push an existing repository from the command line 一栏可以看到如下命令:

$ git remote add origin https://github.com/swadian2018/springbootdemo.git
$ git push -u origin master

把上边两条命令复制到git命令窗口,会弹出输入github的用户名和密码的窗口,如图

输入完后才能后,命令窗口会出现以下提示,文件上传成功!

Enumerating objects: 23, done.
Counting objects: 100% (23/23), done.
Delta compression using up to 4 threads
Compressing objects: 100% (16/16), done.
Writing objects: 100% (23/23), 3.85 KiB | 328.00 KiB/s, done.
Total 23 (delta 0), reused 0 (delta 0)
To https://github.com/swadian2018/springbootdemo.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

下面刷新下github的页面,可以看到上传的文件

二、可能出现的一些错误

1、没有匹配到任何资源

error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/swadian2018/springbootdemo.git'

git初始化提示信息为empty时,实际上这个文件夹下的代码是没有提交到本地仓库的,这个时候要把本地代码git commit 到本地仓库,如果使用的是idea,可以看到未提交的代码都成红色提示。

但有时候使用git init命令初始化本地仓库时,idea的代码却没有任何反应,这个时候可以删除代码文件夹下的.git文件夹,重新启动idea,使用idea工具进行git仓库的初始化。

2、git找不到本地仓库

$ git remote add origin https://github.com/swadian2018/springbootdemo.git
fatal: not a git repository (or any of the parent directories): .git

这个原因是git打开命令窗口时没有在本地仓库所在的位置打开,因此找不到本地仓库的资源。

解决方案:重新初始化git本地仓库,或者在有初始化本地仓库的资源下重新打开命令窗口。

3、提交没授权

这种情况一般是在连接github远程仓库时,输入的连接地址形式不支持时出现的

github初始连接时,支持以下两种方式进行连接,但有时候对于第一种连接方式可能并不支持,那就需要修改成第二种方式

第一种连接方式
$ git remote add origin git@github.com:swadian2018/springbootdemo.git
第二种连接方式
$ git remote add origin https://github.com/swadian2018/springbootdemo.git

使用如下命令修改连接地址:

查看当前的连接地址

$ git remote -v 

修改当前的连接地址

$ git remote set-url origin https://github.com/youname/warehousename.git

$ git push -u origin master

或者

$ git remote set-url origin git@github.com:youname/warehousename.git

$ git push -u origin master
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

swadian2008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值