单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读 > 超详细的 Git & GitHub 实用教程

超详细的 Git & GitHub 实用教程


本文授权转载自公众号Mculover666,博主拥有同名CSDN博客原创:Mculover666二次排版:嵌入式ARM




一、为什么需要版本控制?


1. 为什么需要版本控制

在我们每个人独立开发项目的时候,都会不知不觉的用到版本控制,只是我们并不知道“版本控制”这个名词,没有过多的在意~

比如我要做一个数字电压表的项目,该项目要实现的功能是采集0-5V电压并显示在OLED屏幕上,其芯片选型如下:
  • 主控芯片:STC89C52RC
  • AD芯片:ADC0832
  • 显示模块:096'OLED(IIC)
首先使用公板(开发板)开发软件程序,大致开发流程如下:
  • 编写STC89C52RC的串口驱动程序,实现串口发送功能,用于后期调试;
  • 编写ADC0832的驱动程序,实现采集电压值并通过串口发送功能;
  • 编写OLED的驱动程序,实现电压值实时显示功能;
所以项目文件夹安排如下:



不经意间,我们手动实现了该项目的版本控制,每个文件夹就是一个版本,这样做的好处是什么呢?
  • 提高代码重用性
    比如其中的01-bsp_uart_tx文件夹,实现了串口发送的独立功能,当下次项目中需要时,可以直接拷贝过去而无需重写;


  • 方便版本回退(重点)
    当编写第三个功能03-adc0832+uart+oled的时候,因为思路不清晰导致代码出错,这个时候如果将新添加的代码都找到删除,工作量非常大,而且效率极低,有了版本控制,我们可以直接在02-adc0832+uart的基础上重新编写;
在公板上验证程序无误后,便可以转入硬件开发:设计原理图,绘制PCB,生产焊接调试等工作,同样,在绘制原理图和PCB时,我们依然可以使用版本控制,在后续会有专门的一篇文章简述电路图的版本控制,此处不作赘述。

2.为什么需要版本控制工具

在上一节中我们通过多个文件夹的方式手动实现了版本控制,但是该方式也有一个非常大的缺点:


  • 迭代建立文件夹,重复内容多;
  • 版本迭代时修改的内容无法查看;
为了解决这一问题,诞生的主流的版本控制软件:
  • 集中式版本控制工具:SVN
  • 分布式版本控制工具:Git
使用版本控制软件可以解决这一大问题并且带来许多其他的优点,诸如:
  • 保存了数据当前状态以及之前每一个提交的历史状态,可以回退到任意一个版本节点;
  • 在保存每一个版本的文件信息时不重复保存数据,节约存储空间,提高运行效率;
  • 可以清楚到看到不同版本间修改的内容;
  • 可以多人协作,团队开发;

3. 版本控制软件的多人协作优势

继续拿上面的项目为例来说明版本控制软件的多人协作优势~假设:
  • A同学负责adc0832的驱动实现,在main.c中编写测试函数进行测试;
  • B同学负责OLED的驱动实现,在main.中编写测试函数进行测试;
A完成测试后将main.c文件提交到公共服务器上,当B提交main.c后,公有服务器上A提交的main.c被B提交的文件所覆盖。使用版本控制软件即可很好的解决这一问题,并且具有以下优势:
  • 协同修改
  • 多个人可以修改服务器上的同一个文件,互不影响;
  • 权限管理
  • 对团队中参与开发的人员进行权限控制;
  • 对团队外参与开发的人员贡献的代码进行审核(Git独有);
  • 历史记录
  • 查看修改人、修改时间、修改内容、修改日志;




二、Git简介及安装详解 

1.Git简介

Git(官网 https://git-scm.com/)是一个免费开源的分布式版本控制系统,其最初在2005年由Linux之父Linus使用C语言开发,目的是为了很好的管理Linux内核的源代码,之后,Git日臻成熟完善,得到了广泛的应用。Git在趋向易用的同时,仍然保留着最初设定的目标:它的速度飞快,极其适合管理大项目,并且有着令人难以置信的非线性分支管理系统。相较于集中式版本管理系统,Git具有以下优势:
  • 直接记录快照,而非差异比较;
  • 几乎所有操作都是本地执行;
  • Git 保证数据完整性;
  • Git 一般只添加数据;


Git中的文件有三种状态:
  • 已提交(committed):表示数据已经安全的保存在本地数据库中;
  • 已修改(modified):表示修改了文件,但还没保存到数据库中;
  • 已暂存(staged):对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中;
对应这三种状态,Git的有三个工作区域:
  • Git 仓库:Git用来保存项目的元数据和对象数据库的地方;
  • 工作目录:对项目的某个版本独立提取出来的内容;
  • 暂存区域:保存了下次将提交的文件列表信息;


在这三个工作区域的基础上,Git的基本工作流程如下:
  • 在工作目录中修改文件;
  • 暂存文件,将文件的快照放入暂存区域;
  • 提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录;
  • 2.在Windows上安装Git

    首先在Git官网下载安装包:(下载链接 https://git-scm.com/downloads)。截止本文发表时间,Git最新版为2.23.0,安装过程同下,无任何影响)。
    双击安装包运行安装程序:










    安装完成后吗,在开始菜单即可看到Git工具:
    Git GUI界面如下:
    Git命令行如下:
    另外,在任意地方点击右键,即可看到Git工具。

    3.在Linux上安装Git

    • Centos/Fedora:
    sudo yum install git
    • Debian/ubuntu:
    sudo apt-get install git

    4.初次运行Git前的配置——设置用户名和邮箱

    安装完Git后首先要设置用户名和邮箱,因为Git的每一次提交都会使用该信息,并且写入到每一次提交信息中,不可更改。该信息和Github账号无任何关系,方便起见,建议对应。设置命令如下:git config --global user.name "<Git用户名>"
    git config --global user.email 
    <Git用户邮箱>


    好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
    思维导图使用『幕布』绘制




    三、Git本地库操作(仓库初始化、提交修改) 


    1.获取Git仓库

    方法1. 在现有目录下初始化一个新的本地仓库

    • 在Git Bash中进入工作目录或者直接在工作目录右击,选择Git Bash Here打开Git命令行;
    • 使用命令初始化仓库:

    git init



    • 本地仓库初始化成功后,Git会在当前目录新建一个.git的隐藏文件夹,该文件夹中包含了初始化的Git仓库中所有的必须文件,具体在后续详细讲解:



    方法2.克隆(拉取)现有的仓库到本地


    克隆远程仓库的命令格式是:


    git clone <url>


    如果想在克隆的时候自定义仓库的名字,格式如下:


    git clone <url> <new repository name>

    2.提交更新到仓库(重点)


    在当前工作目录下,Git对一个文件的状态有两种:


    • 已跟踪:在上一次提交的快照中有记录,已被纳入版本管理(获取仓库时,工作目录下所有的文件都是已跟踪文件);
    • 未跟踪:除已跟踪文件之外的所有文件都属于未跟踪文件。



    2.1.查看文件当前状态


    查看工作目录下所有文件的状态命令:


    git status


    当文件数量多时可以使用-s参数输出简短信息:


    git status -s


    格式说明




    左边的M文件被修改,并且已放入暂存区
    右边的M文件被修改,未放入暂存区
    MM在工作区被修改后提交到暂存区,在工作区又被修改了
    A新添加到暂存区的文件
    ??新添加的未跟踪的文件

    2.2.跟踪新文件

    git add <文件名或者目录>

    • 文件名支持通配符`(比如`.c表示工作区所有c文件);
    • 如果是目录,则递归跟踪该目录下所有文件;


    使用-A参数表示跟踪所有文件:


    git add -A



    2.3.修改当前文件


    使用vim打开test.c并编辑如下代码:


    #include <stdio.h>

    int main(void)
    {
        printf("Hello World.\n");
        return 0;
    }



    2.4.暂存已修改文件


    已跟踪文件修改后查看状态,会提示Changes not staged for commit,这表明文件修改后没有保存到暂存区,使用如下命令将修改保存到暂存区:


    git add <文件名>


    使用-A参数表示暂存所有已修改文件:


    git add -A



    2.5.查看未暂存和已暂存的修改


    在工作区工作的时候,我们想要知道:


    • 当前做的哪些更新没有暂存?
    • 有哪些更新已经暂存起来准备下次提交?


    使用git status命令只能表明文件,要查看具体内容使用该命令:


    git diff


    该命令比较工作目录中和暂存区文件的差异,即:已经修改但还未暂存的内容,最后通过文件补丁的格式表明具体哪些行发生了变化。如图,在test.c文件中添加一行代码:
    然后分别使用git statusgit diff查看:
    如果需要查看已经暂存起来的修改使用如下命令:


    git diff --staged



    2.6.提交更新


    注:提交操作前请确保已设置用户名和邮箱。使用如下命令将暂存区的内容提交到仓库:


    git commit


    该命令只会将暂存区的内容提交到仓库,所以在提交之前需要使用git status查看,确认所有改变已经暂存。该命令执行后会自动调用默认编辑器vim来编辑提交信息,之后保存即可成功提交。如果提交信息比较简单,可以直接一行搞定:


    git commit -m "<提交信息>"





    每次提交都是对该项目的一个快照,在以后的任何时候都可以回退到该次状态。


    2.7.跳过暂存区域直接提交更新


    先将工作区的内容提交到暂存区,然后将暂存区的内容提交到仓库,这样的过程未免过于繁琐,使用如下命令可以跳过暂存区,直接将工作区修改的文件(未追踪的文件不能直接提交)添加到仓库:


    git commit -a -m "<提交信息>"






    2.8.忽略文件


    一般情况下,我们总会有些文件不需要纳入Git 的管理,比如:


    • 编译生成的中间文件、临时文件、可执行文件等等;
    • 日志文件
    • ……


    解决方法:在工作目录下创建一个名为.gitignore的文件来列出忽略文件的模式。文件.gitignore的格式规范如下:


    • 所有空行或者以#开头的行会被Git忽略;
    • 可以使用标准的glob模式匹配;
    • 匹配模式可以以(/)开头防止递归;
    • 匹配模式可以以(/)结尾指定目录;
    • 要忽略指定模式以外的文件或目录,可以在模式前加(!)表示取反;


    在这里我们编辑一个.gitignore文件作为示例:




    然后编译产生中间文件和可执行文件:




    查看Git对当前文件的状态:


    2.9.移除文件


    要从Git的暂存区和仓库中移除一个文件,有两种情况:


    • 从暂存区删除,并且从工作目录删除源文件:
    git rm <文件名>
    • 从暂存区删除,保留工作区的源文件:
    git rm --cached <文件名>


    好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
    思维导图使用『幕布』绘制


    四、Git本地库操作(查看提交历史、版本前进回退) 


    1.查看提交历史


    在提交了很多次修改之后,我们可以使用如下命令回顾提交历史:


    git log


    该命令默认会按照提交时间列出所有提交(最新一次提交在最上面),并且列出四个基本提交信息:


    • 提交的SHA-1校验和;
    • 提交的作者信息;
    • 提交时间;
    • 提交说明;





    git log输出的是完整的提交信息记录,如果提交次数非常多时会显得非常的复杂,所以该命令设计了丰富的选项供我们控制输出,最常用的如下:





    2.版本前进回退(基于索引值操作)


    Git版本前进回退的本质是移动HEAD指针


    2.1.版本回退


    版本回退使用命令:


    git reset --hard <索引值>


    首先查看文件当前内容:
    然后回退到第一个版本:
    然后再次查看文件内容,版本回退成功:


    2.2.版本前进


    版本前进也使用相同的命令:


    git reset --hard <索引值>


    当前我们在最初的第一个版本,现在要前进到最新的那个版本,然后查看内容:


    2.3.reset的三个参数区别


    参数说明




    - -soft仅仅移动本地库HEAD指针
    - -mixed移动本地库HEAD指针,重置暂存区
    - -hard移动本地库HEAD指针,重置暂存区,重置工作区



    好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
    思维导图使用『幕布』绘制


    五、Git本地库操作(分支管理) 


    1.什么是分支


    不知道大家有没有注意到Git的logo:



    GIt的logo中就体现出了Git分支管理的优势,那么,什么是Git的分支呢,且听我慢慢道来~在版本控制过程中,使用多条线同时推进多个任务,每一条线就叫做一个Git分支,如图:


    2.分支的好处

    • 并行推进多个功能的开发,提高开发效率;
    • 各个分支在开发过程中是独立的,一个分支的失败不会对其他分支产生任何影响;
    • 分支开发失败后可重新开始;

    3.分支的操作

    3.1.创建分支


    创建分支使用命令:


    git branch <分支名称>



    3.2.查看分支


    查看当前所有的分支信息使用命令:


    git branch -v



    3.3.切换分支


    切换分支使用命令:


    git checkout <分支名>



    3.4.切换分支后的操作


    切换分支后可以进行Git的基本操作,比如追踪文件,添加内容到暂存区,提交到本地库等等。








    3.5.合并分支


    要将一个分支所做的更新合并,需要进行两个操作:


  • 切换到要合并的分支上;
  • 执行命令:

  • git merge <待合并的分支名称>






    4.解决合并分支后产生的冲突

    4.1.冲突的产生


    当我们在不同的分支上修改了同一文件的同一个地方的内容,在两者同时合并到主分支上时会产生冲突,合并时会提示自动合并失败,进入手动合并模式,如图:








    4.2.冲突的解决


    当自动合并失败,Git进入手动模式后,命令行后会显示    MERGING字样:在手动合并模式下,需要进行以下操作:


  • 手动修改文件,并删除Git添加的多余符号:
  • 手动修改文件到满意的程度;
  • 添加修改到暂存区git add <文件名>
  • 提交更新git commit -m <提交信息>


  • 好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
    思维导图使用『幕布』绘制

    六、Github远程库操作(创建、拉取、推送、克隆) 


    1. 代码托管中心


    Git不仅可以在本地使用本地库,还可以将本地库与远程库产生关联,代码托管中心就是用来维护远程库的。


    • 在局域网环境下,可以在公有的服务器上使用Gitlab搭建一个代码托管中心;
    • 在外网环境下,可以使用Github或者码云这样的第三方代码托管中心。

    2. Github


    GitHub(https://github.com)就是典型的第三方代码托管中心,于2008年4月10日正式上线,目前在2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub。因为Github只支持Git 作为唯一的版本库格式进行托管,故名GitHub,另外,除了Git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。首次访问Github官网时会默认打开注册页面,直接使用邮箱注册即可。


    3. Git和Github联合操作

    3.1.创建本地库


    创建一个空的本地库用来测试远程库:


    3.2.创建远程库


    在Github首页的右上角,如图,选择New repository来创建一个新的远程库:
    填写仓库信息:
    仓库创建成功:


    3.3. 给远程库地址取别名


    远程库地址可以在Github上看到,因为Git支持多种协议,包含HTTPS和SSH,所以选择这两种的任何一种都是可以的:
    Git根据这个远程库地址进行推送和拉取操作,但是每个命令都得带上这个地址显得太麻烦了,所以可以先在Git中给这个地址取个别名,使用命令:


    git remote add <别名> <远程库地址>


    比如在这里将远程库地址取个别名叫origin,后续我们就不需要输入冗长的地址了,直接使用origin代替即可:


    3.4.拉取操作(远程库 -> 本地库)


    特别注意:如果远程库有更新(比如在新建的时候创建了README文件),不能进行推送,必须先进行拉取操作。首先将远程库中的内容拉取下来,同步到本地库,使用命令:


    git pull <远程库地址名> <远程分支名称>


    在文件夹可以看到远程库的内容被拉取到本地文件夹:


    3.5.推送操作(本地库->远程库)


    使用如下命令进行推送操作,将本地库的内容推送到远程库中:


    git push <远程库地址/别名> <要推送信息的分支(本地)>


    这里首先在本地库创建一个HelloWorld程序的C文件,然后提交一次更新:
    然后向远程库进行推送:


    git push origin master


    首次推送时Github会验证身份,自动弹出Github登录框,登录即可:登录后Git即可完成推送:完成推送后在Github上即可看到最新的更新:


    4.克隆(拉取)远程库

    除了这种方式外,还有一种简便的方式——克隆远程库,使用命令:


    git clone <远程库url>先在Github上新建一个远程仓库,然后克隆到本地:
    这样克隆的效果有(重点):
    • 将远程仓库的所有内容克隆到本地(避免了拉取操作);
    • 默认创建了origin作为远程仓库地址的别名(避免了取别名的操作);
    • 初始化了本地库(避免了初始化操作);


    克隆成功后可以直接进行拉取和推送操作,如下:



    在Github查看是否推送成功:

    好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
    思维导图使用『幕布』绘制

    七、Github远程库操作(邀请远程库协作者) 


    0.准备工作

    要学习如何在Github上进行团队协作,请注册一个另外的Github账号,方便学习。

    这里我注册的新的Github账号为:
    • mculover666-2
    • 1768391279@qq.com
    在同一台电脑上进行多个Git账号的操作比较麻烦,建议使用虚拟机,在虚拟机中登录另一个账号。

    1.协作者将远程仓库克隆到本地

    首先,团队的合作者需要将仓库克隆到本地,在上一篇文章中讲述了克隆的好处,这里再次说明:


    • 完成本地库初始化操作;
    • 默认将远程库地址别名设置为origin
    • 默认将远程库的所有内容拉取到本地;


    拉取之后,我们可以进行一切本地库可以进行的操作,比如查看状态,提交更新,查看更新记录等等,这里我们修改文件,并在本地库提交一次更新:
    然后尝试将该提交推送到远程库,发生错误:



    这是因为Github上的远程仓库Git_test是归属于mculover666的,这里虚拟机中的mculvoer666-2成员没有权限去修改这个远程仓库,所以操作被禁止。


    2.邀请团队成员(协作者)加入

    2.1.远程库所有者发送邀请

    邀请团队成员加入需要在Github上完成:






    这里Github已经自动向被邀请者发送了邀请邮件,当然也可以自己复制邀请链接,发送给被邀请者;


    2.2.接受邀请

    被邀请者收到的邮件信息如下:




    这样就邀请成功了,再次在命令行中推送一下提交,推送成功:


    3.拉取最新更改

    这里mculover666-2向远程库提交了更改,mculover666需要将此次修改拉取下来,更新到本地,直接使用拉取命令即可:


    4. 团队协作时需要注意的冲突

    在团队中所有的协作者同时工作时,会发生两种冲突:

    1) 当一个协作者向远程库推送了更新后,其他所有的协作者都不能再做推送,必须先将远程库的最新更新拉取,之后才能推送;2) 当拉取了远程库的最新内容后,如果修改和本地修改的地方相同,会导致自动合并失败,进入手动合并模式。好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
    思维导图使用『幕布』绘制

    八、Github远程库操作(使用PR贡献代码) 


    0.什么是跨团队协作和pr

    在上一篇文章中讲述了如何邀请团队的协作者,同一个团队中的人同时协作,但是Github的优势在于可以跨团队协作,即:开发者不需要加入团队也可以贡献代码,称之为跨团队协作。

    团队之外的开发者想要对该项目贡献代码需要进行如下操作:


    • 开发者Fork一份远程仓库到自己的仓库中
    • 在自己的仓库进行修改,提交更新
    • 更新完毕提交pr(pull request)
    • 项目拥有者审核代码
    • 项目拥有者合并代码


    学会了PR操作之后,我们可以在Github上的开源项目贡献自己的代码,给大家看看我的Github,圈出的项目都是Fork之后贡献代码所使用的:


    1.开发者Fork仓库

    首先你需要再注册一个新的Github账号,如果已经在上一篇文章中将新的账号设为协作者,需要先从协作者中去除

    开发者使用自己的账号登录Github,然后访问想要贡献代码的仓库,点击Fork即可:




    Fork之后,该仓库从原有的mculover666的仓库中克隆了一份出来,并且克隆出的新仓库归属于mculvoer666-2:


    2.开发者进行修改,提交更新,推送

    开发者Fork了仓库后,便可以在自己的本地库和远程库之间进行操作,比如提交更新,推送,拉取等等操作

    比如在这里我进行如下操作:
    • 将新的仓库克隆到本地;
    • 进行修改
    • 提交更新
    • 推送到远程库







    推送之后再来Github看看是否成功:


    3.开发者提交请求(PR)

    开发者在自己的仓库修改完毕后,需要将自己的修改提交到原本的仓库,这个时候就需要进行PR操作,即pull request,提交请求:




    首先可以准确的看到文件更改情况:










    至此,开发者的一个请求就提交成功了。


    4. 仓库拥有者审核代码,合并代码














    审查修改无误后合并代码:







    可以在会话窗口与提交者会话:




    最后,在Github上查看一下文件,检查是否成功:


    5.拉取最新版本,为下一次推送做好准备

    将Github上的最新版本拉取到本地,为下一次的推送做好准备:

    拉取之后查看文件,是否为最新修改的:

    好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
    思维导图使用『幕布』绘制


    九、使用VS Code进行Git可视化操作 


    0. 使用VS Code进行Git可视化操作


    VS Code内置了对Git的支持,可以使用图形化界面方便的进行版本控制,比如暂存,提交更新,推送,拉取这些常规操作,特别在比较文件差异方面有着得天独厚的优势,但是前提是:


    • 已经安装了VScode并且了解其使用
    • 电脑上必须安装了Git并且你了解Git的常用命令行操作


    注:关于VScode可以查看我的10篇原创教程《》。


    1.设置git.path


    Git的安装可以参考我的第二篇文章(),在安装过程中有一步如下:




    大多数人经常使用的是Git自带的命令行工具Git bash,为了不影响其它windows命令,安装时会选择第一个,那么,VS Code启动后是找不到Git所在位置的,必须要自己设置git.path,否则打开Git存储库(如果是普通文件夹,请先使用git init初始化为Git仓库)会出现如下提示:




    切换到源代码管理视图,也可以看到错误提示:




    解决方法如下:


  • 使用Ctrl+Shift+P打开命令面板,输入setting,选择首选项:打开设置(json)
  • 添加git.path一项,目录为当前电脑上git.exe所在目录,如图:
  • 保存,重新用VS Code打开Git存储库:
  • 2.本地库基本操作

    2.1.修改文件


    对本地库进行修改,创建一个新的test.c文件,并添加一段代码,可以看到VS Code会自动显示出更改:


    2.2.暂存修改


    在命令行中将当前修改暂存使用命令git add <文件名>,但在VS Code中,可以以图形化方式操作,并且可以清楚到当前暂存区和修改区的内容:


    2.3.提交更新到本地库


    同样,在命令行中将暂存区内容提交到本地库使用命令git commit -m <提交信息>,在VS Code中,可以以图形化方式操作:




    点击提交按钮之后,会弹出输入提交信息的对话框,输入提交信息即可:




    修改区和暂存区内容清空,如图:


    3.安装Git扩展添加更多功能


    VS Code内部集成的Git仅仅支持一些基本操作,我们可以安装Git扩展来支持更多功能,比如git-extension-pack这个扩展:
    在VS Code扩展搜索git,选择该扩展,安装:


    3.1.查看提交历史



    3.2.随时查看当前内容的状态



    3.3.随时查看仓库状态



    3.4.查看文件差异






    3.5. 切换当前分支



    3.6. 查看分支之间的差异和合并分支





    可以看到结果如下:




    查看文件差异之后将分支合并到master,打开命令行输入git merge




    选择要合并到当前分支的分支:




    如果可以自动合并失败,则会出现以下界面:




    直接在编辑器中手动修改冲突,修改之后保存即可:





    4.远程库操作


    注:如果本地的存储库是克隆下来的,或者已经手动添加了远程库地址,则可以直接进行推送和拉取操作。


    4.1.在Github上新建一个远程库



    4.2.添加远程库


    使用Ctrl+Shift+P打开命令面板,输入git add,选择添加远程库




    填写远程库地址的别名:




    填写远程库地址:


    4.3.推送内容到远程库









    5.更多Git操作


    至此,使用VS Code配合Git进行一些本地库和远程库基本操作就讲述完了,些许有些意犹未尽,其实,VS Code内置的Git扩展还有很多命令可以执行,比如:初始化本地库,克隆远程库,拉取远程库内容等等,使用Ctrl+Shift+P打开命令面板,输入git即可看到所有,有兴趣的小伙伴可以自己尝试一下:

    更多精彩文章及资源,欢迎关注我的微信公众号:『mculover666』。博主CSDN博客地址:https://blog.csdn.net/Mculover666/