出处:RT-Thread论坛  无根生

Git 简介

Git 是目前最先进的分布式版本控制系统。

那么,什么是版本控制系统呢?
形象地讲,版本控制就是按照纵向或横向的维度记录当前工程下的变更并进行管理,方便用户可以穿梭于当前工程的不同的变更状态,纵向的维度就是时间的维度,而横向的维度就是分支的维度。在软件开发中经常利用分支的功能将稳定和变动隔离开来,已经稳定的代码是默认的主分支,而新的特性,功能等则是其他分支。

如何使用 Git 的分支特性并无标准答案,但却有大家总结或约定俗称的使用方式,这里推荐简要了解一下git分支管理策略。


那么什么是分布式版本控制系统?版本控制系统并非只有 Git 一种,再此之前还有 SVN 和 CSV,相对的,这两者是集中式版本控制系统。分布式版本控制系统会在每台部署了版本控制的电脑上存储完整的版本库,而集中式版本控制系统则只会在一台主机上保存版本库。因此分布式版本库不仅不需要联网就可以使用,而且更安全,更方便。

Git 基本概念

想要用好 Git,首先要了解 Git 的几个基本概念。 

Workspace:工作区,平时存放工程代码的地方,也就是工程文件夹。

Index / Stage:暂存区,用于临时存放你的改动,实际上这是一个文件,里面保存即将提交的文件的信息,一般存放在隐藏目录.git 目录下的 index 文件中。

Repository:仓库区(或版本库),本地仓库,当前工程路径下的隐藏目录 .git。

Remote:远端仓库。

Git 工作流程

以上图为例:

1、从远端仓库 clone 一个仓库到本地,或在本地创建并初始化一个仓库

2、在工作区中对文件进行添加、编辑、修改、删除

3、将需要进行版本管理的文件从工作区中 add 后放入暂存区

4、确认需要保存的更改从暂存区中 commit 至版本库

5、最后如果需要将本地版本库同步就将版本库 push 至远端工作区

1

RT-Thread Studio 中 Git 信息的配置

按如下图配置 RT-Thread Studio 中的 Git 插件

  • 打开窗口 -> 首选项 -> 配置

在图中 user 下填入代码托管平台的 email 和 name,如需配置网络代理,可配置 http 代理信息。

2

RT-Thread Studio 中 Git 视图面板介绍

按下图打开 git 视图

上图所示, 从左至右的按钮的功能分别为,

  • 导入外部已存在的本地版本库

  • 从远端仓库 clone 一个版本库至本地

  • 创建一个新的版本库并添加至当前视图

  • 刷新

  • 与工作树所选内容连接

  • 显示平行分支布局

  • 显示最新分支的提交

  • 左边区域为版本库的文件树

  • 右边区域为git相关操作的面板,通过打开不同的选项卡可以进行如diff,commit等基本操作

3

Studio创建本地仓库

切换至Git 视图后按如下步骤新建本地仓库

也可以直接从菜单栏新建本地仓库

注:新建本地仓库后需要新建工程并保存至仓库路径,然后添加至暂存区才可以跟踪工程文件的变更

4

RT-Thread studio 导入外部仓库

切换至 Git 视图后按如下步骤添加外部已存在仓库至 RT-Thread Studio

5

RT-Thread Studio 克隆远程仓库

按如下图所示步骤克隆远程仓库至 RT-Thread Studio

克隆后导入工程(注:只有 eclipse 工程才可以导入成功)

注:从远程仓库克隆至本地后需要导入 RT-Thread Studio 工程,才可以在项目资源管理器中显示工程内容。

6

Git 在 RT-Thread Studio 中的基本操作

拉取远程仓库代码

添加文件到暂存区

暂存区内容添加到仓库

推送本地仓库至远程仓库

文件历史版本比较

按如图所示打开文件变更比较

RT-Thread Studio 工程与.gitignore

.gitignore用来描述不被git添加到版本管理中的文件,RT-Thread Studio的工程中大概有如下几类文件可以不被包括到版本管理中:

1、工程编译过程中产生的文件,如.elf、.bin、.hex、.map、.o,Debug 目录下以及 build 目录下的文件等

2、与当前工程不相关的工程配置文件,如.vscode目录下的文件,.uvguix*等

你可以添加微信17775982065为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群!

???? 点击阅读原文进入官网

【使用技巧】如何在RT-Thread Studio上使用GIT进行工程管理相关推荐

  1. rt thread studio使用QBOOT和片外flash实现OTA升级

    我们这里要使用单片机外部flash作为OTA的下载分区,外部flash硬件连接关系 PB3-->SPI3_CLK PB4-->SPI3_MISO PB5-->SPI3_MOSI PE ...

  2. RT Thread利用STM32CUBEMX和RT Thread studio来创建模板工程

    (1)RT Thread利用STM32CUBEMX来创建模板工程 1.参考文档: 基于 CubeMX 移植 RT-Thread Nano:RT-Thread 文档中心 注意:串口2必须使能异步模式(启 ...

  3. RT Thread Studio 配置IIC并读取AS5600角度

    RT Thread Studio 配置IIC并读取AS5600角度 一.RT Thread Studio 配置IIC 1.在RT Thread Seting 中开启IIC功能 并保存 一定要保存才能更 ...

  4. ubuntu19 安装git_如何在Ubuntu 20.04上安装Git

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  5. 如何在 Linux 和 Unix 上安装 git?

    使用Linux发行版的首选软件包管理器在Linux上安装Git是最简单的方法.如果你喜欢从源代码构建,你可以在kernel.org上找到tarball .希望本文对大家有帮助~ 于Debian / U ...

  6. Android Studio中使用Git进行代码管理(分支、合并)

    打开Android Studio选择,选择从Git检出代码 也可以从VCS如下点击 去远程仓库复制地址,这里以码云Gitee第三方代码托管为例,类似Github的界面,点击右边复制项目地址 填一下配置 ...

  7. xpt 2046的触摸屏 rt thread设备驱动框架

    1 基于rtt 开发触摸屏驱动 准备使用rtt 框架 , 驱动xpt 2046的触摸屏, 翻阅大量资料发现, 大部分文章强调的是时序图, 而且很多代码要么直接操作寄存器, 要么是io 口模拟, 只能用 ...

  8. 基于GD32F103C8T6添加RT Thread nano设备框架并添加串口设备(以控制台console( uart0 )为例)

    最近没事琢磨了一下使用设备框架的问题.因为将串口注册到设备框架可以应用十分丰富的软件包. 于是就整理了一下手上的工程,重新将工程梳理了一遍. 像这样是十分清爽了,其中RTOS是操作系统源代码 并且学习 ...

  9. azure模型训练_如何在Azure Machine Learning Studio上开发K-Means模型

    azure模型训练 In this article, we will discuss the k-means algorithm and how can we develop a k-means mo ...

最新文章

  1. Linux环境编程--fflush(stdout)有什么作用
  2. NSThread Run Loop
  3. html src 图片不显示图片,css中不用src也让图片显示的方法是什么?
  4. python由列表中提取出来的浮点型字符串不能直接转换成整形
  5. android怎么将editext的文本,android – 如何将文本添加到editext
  6. Topic交换器-编写消费者
  7. dataframe 选择输出_使用 Python 实现机器学习特征选择的 4 种方法
  8. 微信支付之企业付款(提现,理赔,退款)(java)
  9. 面试官系统精讲Java源码及大厂真题 - 44 场景实战:ThreadLocal 在上下文传值场景下的实践
  10. ti嵌入式linux设计外包,基于嵌入式Linux的PMP系统设计与实现
  11. 全文匹配方式查询(sql)
  12. 系统辨识(一):相关概念
  13. 直流无刷电机工作原理
  14. js根据年份计算总周数并获取每周的日期范围
  15. SpringBoot父子工程集成Jenkins部署项目问题合集
  16. 华硕ROG冰刃5和枪神5有什么区别 哪个好
  17. 颜色的前世今生9·HSV色彩空间之父——匠白光
  18. 阅读 v2.19.071322 for Android 官方清爽版 + 众多书源 + 添加书源方法教程
  19. 阿里云DNS服务器免费版和付费版列表
  20. kirin710f是什么处理器_HUAWEIKirin710F处理器是什么机型?

热门文章

  1. 数据可视化报表工具的整体设计
  2. 生活小程序摩拜单车为啥投开锁功能?生活小程序是趋势?
  3. 微信小程序wx.login()登录
  4. 毕设题目:Matlab图像处理
  5. 一个资深测试员的感悟
  6. AdobePhotoshopCS快捷键
  7. 人力资源系统需求规格说明书
  8. jmeter测试报告优化
  9. 使用avilib库进行avi文件的读写
  10. MCP认证考试是什么样的考试?