基于VsCode和Git的代码版本管理

embedded/2024/10/19 16:34:54/

基础回退

  1. 在项目文件夹右键打开git bash,输入命令git log 查看提交的历史 commit,git log --pretty=oneline将版本信息压缩到一行
    在这里插入图片描述
    在这里插入图片描述

    • 使用git log可能会显示不全,按enter逐行查看,按end跳至末尾
    • 查看完成后,按q即可退出
  2. 找到自己想要回退的版本,记录下commit后边的版本ID值

  3. git checkout ID值
    在这里插入图片描述

    • 请注意,如果Vscode中有未提交的代码,即暂存区有代码,需要你提交或者放弃后,才可以执行checkout这一步。
  4. 执行完成,即可得到想要版本的代码了

Git配合其余操作

基础操作
  • 我一般使用vscode初始化仓库,暂存和提交代码,以及创建分支等操作
其他操作
  • git reflog命令:可以看到你对仓库所有的相关操作,并有他的HEAD
    在这里插入图片描述
  • git reset命令git reset --hard xxx,回退到任意版本,回退命令reflog也会有记录
    在这里插入图片描述
分支
  • 分支的意义主要是团队的并行开发,个人的功能测试和错误隔离。
  • 创建分支:git branch,如图为vscode创建
    在这里插入图片描述
  • 查看分支:git branch -v,切换分支:git checkout。如图为vscode查看分支并在分支上右键切换。
    在这里插入图片描述
    在这里插入图片描述
  • 在新分支修改文件,并提交后,可以看到新分支文件更新了。切换分支后,代码文件内容会随着分支应有的内容同步更新
    • 切换主分支后,txt内容为this is version 3
    • 切换beta后,txt内容为this is version 4
      在这里插入图片描述
  • 主分支合并分支,切换为主分支,选择合并,然后在提示框选择beta即可,使用git merge命令
    在这里插入图片描述
分支合并其他情况
  • main提交version 5 in main,beta提交version 5 in beta
    在这里插入图片描述
  • 切换到主分支,合并的时候,会提示错误,左侧会显示,此时打开文件,会显示如图,可以根据需要选择采用哪种更改
    在这里插入图片描述
    在这里插入图片描述
  • 我选择保留双方更改,此时保存并暂存更改后提交,主分支变为如图,主分支文件内容如图
    在这里插入图片描述
    在这里插入图片描述
  • 当我切换为beta分支,beta无影响
    在这里插入图片描述
后续
  • 此时使用reflog可以看到所有变更记录,切换
    在这里插入图片描述
  • 当main分支回退版本,要首先切换main分支后,才可以使用git reset
    在这里插入图片描述
  • 同理,beta分支回退版本,要首先切换beta分支后,否则导致main分支内容恢复到到beta分支

http://www.ppmy.cn/embedded/105259.html

相关文章

激光雷达产品介绍

与传统激光雷达线性重复式的扫描方式不同,Livox mid系列激光雷达扫描路径不会重复。且视场中激光照射到的区域面积会随时间增大,这就意味着视场覆盖率随时间推移而显著提高。 内容参考自《解构大疆旗下 Livox Mid 激光雷达非重复扫描技术》作者&#xff…

Java 输入与输出之 NIO.2【AIO】【Path、Paths、Files】【walkFileTree接口】探索之【三】

在JDK 1.7 版本中对NIO进行了完善,推出了NIO.2,也称为AIO(异步IO),在处理大量并发请求时具有优势,特别是在网络编程和高并发场景下,表现得更为出色。 对于输出流和输入流而言,操作的…

什么软件可以用平板远程控制电脑?

在当今快节奏的工作和生活中,使用平板远程控制电脑已成为一种便捷高效的办公方式。无论你是想随时随地访问办公室的电脑,还是需要在旅途中进行紧急工作任务,Splashtop都是你的不二选择。本文将介绍如何使用Splashtop通过平板远程控制电脑&…

好用的数据生产工具 mockdata

mockdata 是一个 Python 库,用于生成模拟数据。它包含各个行业各种字段,包含地址,个人信息(姓名,性别,职位等),电话,银行相关信息(信用卡,银行信息…

开源 AI 智能名片 O2O 商城小程序:引入淘汰机制,激发社交电商新活力

摘要:本文深入探讨在社交电商领域中,开源 AI 智能名片 O2O 商城小程序如何通过设置淘汰机制,实现“良币驱逐劣币”,激励士气,为社交电商企业注入新的活力。通过分析缺乏淘汰机制的弊端以及设置淘汰机制的优势&#xff…

Spring6学习笔记2:容器IoC

文章目录 3 容器:IoC3.1 IoC容器3.1.2 依赖注入3.1.3 IoC容器在Spring的实现 3.2 基于XML管理Bean3.2.1 搭建子模块spring6-ioc-xml3.2.2 实验一:获取bean①方式一:根据id获取②方式二:根据类型获取③方式三:根据id和类…

微信小程序代码 app.json文件详细介绍

目录 app.json 文件的作用 app.json 文件结构 app.json 文件属性介绍 pages 页面路径配置 window 主窗口主题样式 tabBar 底部导航栏 networkTimeout 网络超时时间 debug 调试模式 permission 申请手机权限 sitemapLocation style lazyCodeLoading 懒加载 require…

list的简单实现

文章目录 前言list接口介绍构造函数迭代器常用容量操作元素访问插入删除头插尾插任意位置插入删除 其他常用操作 list简单实现框架构造析构插入emplace插入insert插入 删除迭代器操作符重载 前言 STL中的list是一个双向链表容器,适用于需要频繁插入和删除操作的场景…