1、前言及假设
写这篇文章是为了介绍如何在VSCode下使用Git,并且将项目同步到Github。
现在我们也有Gitee、GitCode等国内版本的Github,但是为了通用性,即使Github网络很不稳定,我依然选择Github来为你们讲解。
那么我们继续,目前我假设你的基本情况为:
- 你已经下载并安装了Git,VSCode。
- 你了解Git,VSCode的基本操作。
- 你已经拥有一个Github账号,能够正常登录的那种。
- 你已经会如何在Github下Fork别人的仓库或者建立自己的仓库。
以上的几点是本文的基础,如果没有这些基础,也可以往下看,我也会介绍一些常用指令,但是可能会比较吃力。
好,现在假设你有个Github账号,后续要用到的:
主文件夹命名:HLGithubProject
Name:HLTest
E-mail:HLTest@MeMeDa.com
2、Git初始化及重要配置
- 新建个文件夹,命名为HLGithubProject,这个文件夹我叫他“工作文件夹”,这里面会放我们Github上的工程及其文件。
- 打开HLGithubProject文件夹,在里面右击,点击Git bash here。
- 对Git进行相关的初始化,在打开的git bash窗口中输入:
git init
- 对Git的user的name进行初始化:
git config --global user.name "HLTest"
- 对Git的user的email进行初始化:
git config --global user.email "HLTest@MeMeDa.com"
- 对Git的参数配置进行查询:
git config --list
3、将Git和Github联系在一起
想要将Git和Github联系在一起,2021年之前,你是可以在Git中配置Github的邮箱和密码来进行相关Git操作的。
生成SSH密钥对
但是现在,最好的方法是使用SSH这种加密的方法。
首先需要生成一个新的 SSH 密钥对,打开的git bash窗口中输入:
ssh-keygen -t rsa -b 4096 -C "HLTest@MeMeDa.com"
- -t rsa:指定密钥的类型为 RSA。RSA 是一种广泛使用的非对称加密算法,用于数据加密和数字签名。
- -b 4096:指定密钥的位数为 4096 位。更高的位数意味着更强的安全性,但同时也意味着加密和解密过程会更慢。4096 位是目前广泛推荐的密钥长度,因为它在提供足够安全性的同时,对性能的影响也相对较小。
- -C “HLTest@MeMeDa.com”:这个参数允许你为密钥对添加一个注释,这里的注释是 HLTest@MeMeDa.com。这个注释通常用于标识密钥的用途或所属者,但它并不会影响密钥的安全性或功能。它只是一个帮助人类识别密钥的标签。
回车后,会有两个选项,建议直接都回车:
- 需要设置文件夹位置,你本来就是在HLGithubProject文件夹下的,所以直接回车就行了。
- 需要设置该密钥对的密码,可以不设置,建议直接回车就行了。
复制SSH的公钥用于Github
下一步,需要查看位于用户主目录下 .ssh 文件夹中的 id_rsa.pub 文件内容,这个文件包含了SSH 公钥,它通常用于 SSH 认证过程中,以允许无需密码即可登录到远程服务器或其他 SSH 服务。
复制公钥,打开的git bash窗口中输入:
cat ~/.ssh/id_rsa.pub
然后复制这个公钥,就是后面的一长串东西:ssh-rsa +…+ HLTest@MeMeDa.com
最后,打开Github,登录你的账号,然后点击头像,settings,再找到SSH一栏,再点击New SSH Key来新建,最后将之前ssh-rsa +…+ HLTest@MeMeDa.com复制到key这一栏中,最后点击Add SSH key,就建立完成了:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BcAF2rxT-1721815587748)(https://i-blog.csdnimg.cn/direct/51f75884c1dd44568359103cc79abeca.png)]
哦,对了,你还要给这个key叫个title,给他个名分。这样就将Git和Github联系在一起了。
4、软件版本管理流程
简介
还记得当年毕业的时候,毕业论文的各种版本,什么第一版,第二版,第n版,完结版,完结版2,打死不改版。。。这些命名和版本管理起来太占空间,因为有些版本你可能就只改了个日期,却要整个的都保存,而且不方便你的比对。想想那时候如果我会使用Git,事情就会变得非常简单。
Git就是这个帮你做文件版本管理的超级工具。
步骤1:新建仓库/Fork仓库
首先,你需要在你的Github账号下有一个仓库,这个仓库可以是你自己新建的(但是有点麻烦,熟悉了以后你可以自己新建,这个不是本篇的重点),也可以是你从别人好的项目那里Fork过来的。
这个Fork你可以理解为复制转载,就是把别人仓库的项目移到你自己的仓库里,这个是Github的一个基本概念。
那么我们假设,我Fork了vedderb/bldc的项目,这里会有显示:
步骤2:将仓库克隆到本地的Git文件夹中
我需要将bldc这个项目克隆到本地的HLGithubProject文件夹中。
首先就要先复制他的SSH地址,可以看到,我的github的名字叫LibenLingRegal,但是我本地的名字HLTest,这两个不同,但是我们已经通过SSH将这两个联系在一起了,这是SSH的一个优点:
还是在之前的git bash窗口下,输入:git clone git@github.com:LibenLingRegal/bldc.git
第一次会有个询问,直接回复yes即可:
然后就会开始克隆了,等他下载完成就行了。可以看到下载完成的文件夹中多了个bldc的文件夹,里面是所以文件。
步骤3:对本地项目做一些小操作
好了,克隆下来这个项目,我们就会对他做一堆操作了,这里只是举个例子,主要是为了说明你利用git进行版本管理的流程:
- git bash窗口下,创建一个test.c文件:
touch test.c
- 查询状态,输入:
git status
- 将添加test.c文件的更改添加到暂存区,输入:
git add test.c
- 将目前版本提交,确认为本地最新版本,输入:
git commit -m "add test.c"
到此为止,本地的git版本管理已经完成了,就是添加了一个test.c的文件,并将之进行了提交,生成了最新的版本。
步骤4:提交到Github
最后,就是将本地的提交到Github中,输入:git push
没错,就是这么简单,因为你已经使用SSH将本地git和远程的Github联系起来了,就可以直接提交。
5、VSCode如何应用Git
在VSCode中,你只需要右击bldc文件夹,点击通过Code打开,使用VSCode打开该文件夹,就能够直接对他进行版本管理了。
关于相关的插件该怎么应用,很多人已经讲过了,所以我就不展开了。
但是这里要求你们安装这几个关键的插件:
-
GitLens:可以使用图形界面操作git,比git bash命令输入方便,但是初始化的时候还是推荐用git bash来:
-
Git Graph:版本查看起来更加直观好看,对比也方便,选中一个后Ctrl+另一个,就可以直接比较两个版本的文件差异,看这一堆性感的小线条:
-
Git History:历史对比,可以对比每一行的历史:
Ok,就到这里了。