github使用SSH密钥上传项目

github项目管理SSH版

  • 还有HTTPS版的初始化相当比这个SSH版初始化 简单
  • 但是使用体验,还是SSH比较方便
  • HTTPS适合很长一段时间上传一次的情况
  • SSH适合编写代码,时常需要更新代码的情况

以下;暂时只有SSH版上传项目代码到GitHub的介绍

1. 初始化git

/* 查看git版本 */
git version

git config --global user.name "weiip"		//name是自己账户的ID名,可以登录自己的GitHub账号点击右上角头像,头像右边的名称就是ID
git config --global user.email "210640xxxx@qq.com"

git init

git config --list --show-origin		/* 查看是否配置成功 */

2. 使用ssh

2.1 生成ssh密钥

/* 推荐使用 */
ssh-keygen
一直按:enter

/* 或者配置生成条件 */
ssh-keygen -t rsa -C 'git key for github' -f ~/.ssh/id_rsa

/* 查看目录需要填写自己的密钥路径 */
cat /c/Users/21064/.ssh/id_rsa.pub

/* Linux终端下则是 */
cat ~/.ssh/id_rsa.pub
  • cat 的结果

    
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC0la6oSFdaXNK+HoPYOkTG+G8mSZ90RYeYl55bZFFjSYW5VDeYnA4t/G8eaZ5tGrQeBrjDZ5EvT/8NH7yytuIH1hBLdFVYqreTJVg8TmQR8EsdfXFneUZzS4SZ4VJS6qXaiRJuceZz5pq1pkfBjvHx9HZr2IoELfhTKVczqQ5eKbDliXLfF2clM6BbueYr77v/YJYbLBXIV1twNcFPSE52AHxzQHDVoyMzoR29UstAPbXEJTqQDLr0jNKxLM2o5X0w3fXwm2elQgnEoyoGma+10ltybKVcwLzoTdvLkkstig4gufaNzZA0HkG3ttrfJ3kp5+/aF/mLw1gR91Qs3otOAaA3bD8htOxaCsfrZyFsvfNxv8mgkUKh3y21W6h9CKtrRIsmOwj30S9+XMPCTeGLvHVCVzRZgcHysZ27LfTl+QCINVavaET46wvet/HPQ5q9r/NfXT/Knh6gptC5GGC5qMQDPf322pAsdMobufF8BQ2TLVRKtzEUQxIjBZ5K2s= 北冥@DESKTOP-ISP
    

2.2 配置密钥

进入github.com官网,登录账号,按以下指示设置SSH密钥
--->setting--->SSH and GPG keys------->New SSH key

复制‘cat’的结果到“key”的位置,设置“Title”:备注密钥的作用

点击Add SSH Key保存密钥

2.3 测试本地和GitHub网站的连通性

//git bush或者Linux终端输入以下指令进行连通性测试:
ssh -T git@github.com
  • 可能会出现以下报错:
/* 连接超时 */
$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out

/* 
 * 原因:ssh连接会使用22端口或者443端口,默认是22端口
 * 出现以上错误是终端通过22端口连接github官网连不通
 * 导致连接报错提示:port 22: Connection timed out
 * 所有我们要设置ssh连接使用443端口
 */
  • 解决办法:
/* win系统下的git bash */
1. 进入win系统的文件夹,进入  C:\Users\21064\.ssh   这个目录
2. 创建文件夹:config
3. 打开config文件,添加如下配置
----------------------------------
Host github.com
  Hostname ssh.github.com
  Port 443
  User git
---------------------------------

/* Linux终端: */
cd ~/.ssh
gedit config
最后,添加如上配置,同win系统下的git bash
  • 再次使用连通测试指令:

    ssh -T git@github.com
    
    结果:
    --------------------------------------------------------------------------------
    /* 第一次输入,需要确认连接,要输入‘yes’ */
    北冥@DESKTOP-ISP7M8O MINGW64 /d/Desktop/01_github (master)
    $ ssh -T git@github.com
    The authenticity of host '[ssh.github.com]:443 ([20.205.243.160]:443)' can't be established.
    ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
    This key is not known by any other names
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes  <<=======
    Warning: Permanently added '[ssh.github.com]:443' (ED25519) to the list of known hosts.
    Hi weieIP! You've successfully authenticated, but GitHub does not provide shell access.
    
    /* 第二次输入 */
    北冥@DESKTOP-ISP7M8O MINGW64 /d/Desktop/01_github (master)
    $ ssh -T git@github.com
    Hi weeIP! You've successfully authenticated, but GitHub does not provide shell access.
    ------------------------------------------------------------------------------------------
    
    /* 至此,已经能连通 */
    

3. 上传项目代码

3.1 在github官网创建一个仓库

进入github官网
3.1.1 点击首页的“+-----> New repository----->设置Repository name-------->Create repository
    
3.1.2 复制SSH链接:git@github.com:weeIP/test.git

在这里插入图片描述

3.2 win系统的git bash端

3.2.1 连接远程单个仓库

/* 进入包含项目文件的目录,通过git bash进入终端 */

//使本地仓库和远程GitHub仓库建立连接;'origin'可以自定义,但后面上传需要用到这个名称
git remote add origin 【上面复制的SSH链接】	

例:git remote add origin git@github.com:weeIP/test.git

3.2.2 ***添加文件到上传队列

git add ./*				   /* 添加--当前文件夹下的所有文件-到-上传队列 */
git commit -m "上传备注"	/* 添加上传队列到本地仓库,同时给每次上传做一个备注,例:git commit -m "add a file" */
git push origin master	   /* 上传本地仓库到远程的github仓库 */

/* 备注:对于git push进行解释
 * git push 是将origin本地仓库上传到master远程仓库
 * 可以通过  git remote -v   指令查看本地仓库的名称
 * 这个origin的名称取决于3.2.1步骤中的git remote add 后面的名称
 */

3.2.3 查看远程仓库

登录GitHub,查看文档是否上传成功

也可以通过git push的结果判断是否上传成功:
------------------------------------------
$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 219 bytes | 219.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:weieIP/win_test.git
 * [new branch]      master -> master
------------------------------------------
  • 终端连通GitHub网站之后, 想要下载GitHub网站上的某个项目文件, 也可以在终端用SSH链接进行下载
    在这里插入图片描述
#终端输入以下格式的指令进行下载,能够有效解决https连接超时问题:
git clone git@github.com:DongshanPI/100ASK_V853-PRO_TinaSDK.git



  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值