0


【Linux/Windows下】如何将本地仓库绑定至Github仓库

image-20240306115725978

本篇博客将介绍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的密钥可以分为两个部分。

  1. 私钥(Private Key):私钥是你在本地计算机上保存的秘密文件,类似于密码,只有你知道。它类似于一把锁,只能由匹配的公钥来解锁。
  2. 公钥(Public Key):公钥是你的计算机上的另一个文件,你可以安全地分享给其他人或其他计算机。它类似于一把钥匙,任何持有这把钥匙的人都能够解锁使用你的系统。但请注意,公钥只能用于加密数据,不能用于解密数据。

现在,我们再简单解释一下SSH密钥的工作原理:

  1. 生成密钥对:首先,你的计算机会生成一对密钥私钥和公钥)。
  2. 发送公钥:一旦生成了密钥对,你可以将公钥发送给其他计算机,以建立安全连接。
  3. 认证过程:当你尝试与远程计算机建立连接时,远程计算机会要求你提供身份验证信息。此时,你的计算机会使用私钥对一个随机生成的数据进行加密,并将加密后的数据发送给远程计算机。
  4. 验证身份:远程计算机收到你发送的加密数据后,会使用你之前发送的公钥进行解密。如果成功解密,说明你的私钥确实拥有相应的公钥对应的解密能力。远程计算机就会确认你的身份,并允许你建立连接

文字太长不看,直接看图:

image-20240306210940063

总而言之,Github可以通过这种网络协议绑定本地计算机,本地计算机配置好SSHKEY并将公钥配置给Github账号后,即可通过该方式进行仓库管理啦~

注意:

SSH KEY的配置针对每一台主机,SSH相当于将主机与账号做了一次关联并非一个账号只需配置一次

使用密钥生成工具生成SSH密钥对

首先我们需要检查本地主机是否已经存在了SSH KEY

如果是linux可以直接打开终端,windows可以打开Git Bash,此处以Git Bash为例:

//输入
ls -a ~/.ssh
//该指令的目的是,显示制定工作目录下的内容//-a的意思是显示所有文件和目录(包括.开头的隐藏文件)
如果SSHKEY不存在,则会显示如下:

img

第二步,生成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”即为注释内容

正确创建之后将如下显示:

img

第三步,查看id_rsa.pub文件并获取密钥

linux下可以使用:

cd ~/.ssh
cat id_rsa.pub

windows则可以直接进入C盘/User/.ssh文件夹中 查看并复制该内容,将其保存到剪贴板,而后即可进行下一步。

<3> 在Github账号中添加公钥

首先登入Github账号,跟随图示操作即可。

image-20240306223235851

image-20240306223247848

image-20240306223347203

image-20240306223447017

最后点击add SSH key即可。

此时可以验证是否设置成功:

在shell或gitbash中输入该代码,出现如下提示即绑定成功!

image-20240306223644547

代码原理解析:

//建立一个SSH连接到GitHub的服务器,并尝试以提供的用户身份进行身份验证。
ssh -T [email protected]

此处 -T指通知SSH客户端不要分配伪终端,因为我们只需要简单地测试与Github服务器的链接,而不需要执行交互式命令。

git@github.com”则是Github提供给用户的一个SSH地址,用于通过SSH协议与GitHub通信。

git

是用户名,

github.com

是主机名。

<4>创建GitHub仓库并连接到本地

点击右上角new,而后填入仓库名称:

image-20240306225756646

此处建立一个test库用作展示:

image-20240307174016610

需要关注的地方有两个,首先点击上方红框中的SSH选项,使github与本地连接的时候使用SSH网络协议而非HTTP,而后关注下方提示中的命令。

同样是打开Git Bash或命令框,但此处需要在本地仓库中打开Git窗口,或者是在文件夹中新建一个,由于前置条件里面写了需要准备一个本地仓库,那这里就不过多赘述这个啦~

img

git branch -M main

这句命令意思是,将当前分支改名为main -M意思是重新命名

git remote add origin [email protected]: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博客

Ph0m-CSDN博客

标签: github git

本文转载自: https://blog.csdn.net/2301_79344902/article/details/136542041
版权归原作者 吃汉堡吃到饱 所有, 如有侵权,请联系我们删除。

“【Linux/Windows下】如何将本地仓库绑定至Github仓库”的评论:

还没有评论