本篇博客将介绍Linux和Windows下连接远程仓库的方式,以及非常基础地用github与team进行合作的方法。
一、将本地仓库绑定至Github库
<1>前期准备
一开始想从Git开始准备,后来越想越觉得应该从盘古开天辟地开始准备…
1.一个Github账号
2.了解一些基础的Git操作
3.有一个本地仓库
准备好这些后,接下来的流程大概就是:
1.找到User的SSH key
2.将SSH key绑定至Github账号
3.创建一个Github仓库
4.将Github仓库绑定至本地
5.将本地仓库提交至Github
不过笔者看了许多网上的绑定教程,大多是浮于表面,仅仅简单输入几个指令,只知其然而不知其所以然,故而今天这篇博客将略微深入一些,在介绍绑定过程和绑定指令的基础下,尽量解释出一部分指令和操作的原因。
如果懒得看原理,也可以直接跳转至每一个部分的命令操作环节。
注:这些操作基于本人的理解以及网络上的博客,可能出现谬误,望读者看到可以帮助指正,感激不尽。
<2>生成并获取SSH密钥
首先我们需要知道,为什么要使用SSH密钥,使用SSH密钥有啥好处?
在Github上pull或push项目的时候,一般会有两种方式,一种是HTTPS,另一种则是SSH密钥,如果用HTTPS的方式,每次提交都需要输入账号密码,而如果采用SSH的方法,就不需要每次都输入账号密码,只需要配置一个SSH KEY即可。
SSH 加密原理 以及 为何SSH 可以跳过账密登录
SSH是一种加密协议,当使用SSH连接到网络时,SSH密钥起关键作用,SSH的密钥可以分为两个部分。
- 私钥(Private Key):私钥是你在本地计算机上保存的秘密文件,类似于密码,只有你知道。它类似于一把锁,只能由匹配的公钥来解锁。
- 公钥(Public Key):公钥是你的计算机上的另一个文件,你可以安全地分享给其他人或其他计算机。它类似于一把钥匙,任何持有这把钥匙的人都能够解锁使用你的系统。但请注意,公钥只能用于加密数据,不能用于解密数据。
现在,我们再简单解释一下SSH密钥的工作原理:
- 生成密钥对:首先,你的计算机会生成一对密钥(私钥和公钥)。
- 发送公钥:一旦生成了密钥对,你可以将公钥发送给其他计算机,以建立安全连接。
- 认证过程:当你尝试与远程计算机建立连接时,远程计算机会要求你提供身份验证信息。此时,你的计算机会使用私钥对一个随机生成的数据进行加密,并将加密后的数据发送给远程计算机。
- 验证身份:远程计算机收到你发送的加密数据后,会使用你之前发送的公钥进行解密。如果成功解密,说明你的私钥确实拥有相应的公钥对应的解密能力。远程计算机就会确认你的身份,并允许你建立连接。
文字太长不看,直接看图:
总而言之,Github可以通过这种网络协议绑定本地计算机,本地计算机配置好SSHKEY并将公钥配置给Github账号后,即可通过该方式进行仓库管理啦~
注意:
SSH KEY的配置针对每一台主机,SSH相当于将主机与账号做了一次关联。并非一个账号只需配置一次!
使用密钥生成工具生成SSH密钥对
首先我们需要检查本地主机是否已经存在了SSH KEY
如果是linux可以直接打开终端,windows可以打开Git Bash,此处以Git Bash为例:
//输入
ls -a ~/.ssh
//该指令的目的是,显示制定工作目录下的内容
//-a的意思是显示所有文件和目录(包括.开头的隐藏文件)
如果SSHKEY不存在,则会显示如下:
第二步,生成SSH KEY
//若不存在SSH KEY则输入
ssh-keygen -t rsa -C “xxx”
1.ssh-keygen 用于为“ssh”生成、管理和转换认证密钥,支持RSA与DSA两种认证密钥。SSH 密钥默认保留在
~/.ssh
目录中。 如果没有~/.ssh
目录,ssh-keygen
命令会使用正确的权限创建一个。2.-t 意为指定要创建的密钥的类型
3.rsa 意为生成esa公钥和私钥文件
4.-C意为添加注释 “xxx”
5.“xxx”即为注释内容
正确创建之后将如下显示:
第三步,查看id_rsa.pub文件并获取密钥
linux下可以使用:
cd ~/.ssh
cat id_rsa.pub
windows则可以直接进入C盘/User/.ssh文件夹中 查看并复制该内容,将其保存到剪贴板,而后即可进行下一步。
<3> 在Github账号中添加公钥
首先登入Github账号,跟随图示操作即可。
最后点击add SSH key即可。
此时可以验证是否设置成功:
在shell或gitbash中输入该代码,出现如下提示即绑定成功!
代码原理解析:
//建立一个SSH连接到GitHub的服务器,并尝试以提供的用户身份进行身份验证。
ssh -T git@github.com
此处 -T指通知SSH客户端不要分配伪终端,因为我们只需要简单地测试与Github服务器的链接,而不需要执行交互式命令。
“git@github.com”则是Github提供给用户的一个SSH地址,用于通过SSH协议与GitHub通信。
git
是用户名,github.com
是主机名。
<4>创建GitHub仓库并连接到本地
点击右上角new,而后填入仓库名称:
此处建立一个test库用作展示:
需要关注的地方有两个,首先点击上方红框中的SSH选项,使github与本地连接的时候使用SSH网络协议而非HTTP,而后关注下方提示中的命令。
同样是打开Git Bash或命令框,但此处需要在本地仓库中打开Git窗口,或者是在文件夹中新建一个,由于前置条件里面写了需要准备一个本地仓库,那这里就不过多赘述这个啦~
git branch -M main
这句命令意思是,将当前分支改名为main -M意思是重新命名
git remote add origin git@github.com:ForeverHamburger/test.git
添加一个远端仓库的链接,origin是为远端仓库起的名字(可以随意更改,一般为origin),后面是远端仓库的地址
git push -u origin main
将main分支推送到远端仓库
为啥要先改个名呢?
因为下一句是把main分支推送到origin远程仓库,而当前分支名必须与main这个名字相同,事实上,只需要让push的分支名与当前分支名一致即可。
之后再操作时,仅使用pull和push两种操作即可拉取和推送本地分支到github仓库中。
到这里,绑定本地仓库到Github仓库的环节就结束了!
<5>Git其他远程指令~
仓库都建立了怎么能不用用别的指令呢!
但是写太多就跑题了,此处放几个笔者觉得常用的:
git remote -v
该命令用于查看当前库配置了几个远程仓库。加上-v可以看到每个别名的实际链接地址
git remote rm 【仓库别名】
该命令用于删除远程仓库
还有git fetch 和git merge等命令,会在另一篇git基础指令的解析笔记中记录~(其实是笔者目前还不会)
二、结语
老传统了,祝大家好好学习,天天向上,之后可能会再发一期基础git指令的使用和分析,重点分析基础的指令原理以及解析branch分支的使用。git作为大家都在用,用了都说好的分布式管理系统,还是很值得好好学习得~
百发失一,不足谓善射;千里跬步不至,不足谓善御;伦类不通,仁义不一,不足谓善学。学也者,固学一之也。一出焉,一入焉,涂巷之人也;其善者少,不善者多,桀纣盗跖也;全之尽之,然后学者也。
参考文档:
github与本地仓库如何链接。_如何连接本地仓库和github-CSDN博客
Github配置ssh key的步骤(大白话+包含原理解释)_github生成ssh key-CSDN博客
什么是SSH?SSH是如何工作的? - 华为 (huawei.com)
Git 教程 | 菜鸟教程 (runoob.com)
特别鸣谢:
xiaoduyyy-CSDN博客愿相知-CSDN博客文章来源:https://www.toymoban.com/news/detail-840237.html
Ph0m-CSDN博客文章来源地址https://www.toymoban.com/news/detail-840237.html
到了这里,关于【Linux/Windows下】如何将本地仓库绑定至Github仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!