当前位置: 首页 > news >正文

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

基础回退

  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配合其余操作

  • 参考知乎:git+vscode进行版本控制
基础操作
  • 我一般使用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分支

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何把自动获取的ip地址固定
  • vue项目使用艺术字体
  • 【话题】全能型AI与专精型AI:未来之路
  • 初步掌握Transforms的基本使用
  • 运维学习————Zookeeper(2)
  • 【Rust光年纪】深入了解Rust语言库:从异步编程到网络协议实现一网打尽
  • 深度学习100问33:如何避免梯度消失
  • 数学基础 -- 线性代数之矩阵的秩
  • Python青少年简明教程:模块
  • IO进程(线程篇)
  • C++复习day01
  • Unity(2022.3.41LTS) - UI详细介绍-画布
  • 【JavaEE初阶】JVM内存划分和类加载过程以及垃圾回收
  • 【数据结构】反射,枚举你必须知道的相关知识
  • 1、Django Admin学习模型
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • C++类的相互关联
  • Docker容器管理
  • JavaScript HTML DOM
  • javascript 总结(常用工具类的封装)
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • js正则,这点儿就够用了
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PAT A1017 优先队列
  • Redash本地开发环境搭建
  • Spring核心 Bean的高级装配
  • 和 || 运算
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 解析 Webpack中import、require、按需加载的执行过程
  • 排序算法之--选择排序
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 少走弯路,给Java 1~5 年程序员的建议
  • 深度学习中的信息论知识详解
  • 实战|智能家居行业移动应用性能分析
  • 算法---两个栈实现一个队列
  • 问题之ssh中Host key verification failed的解决
  • 一个JAVA程序员成长之路分享
  • 一个SAP顾问在美国的这些年
  • ​Linux·i2c驱动架构​
  • ​马来语翻译中文去哪比较好?
  • ​一些不规范的GTID使用场景
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #《AI中文版》V3 第 1 章 概述
  • #HarmonyOS:基础语法
  • #控制台大学课堂点名问题_课堂随机点名
  • #每日一题合集#牛客JZ23-JZ33
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (1)Jupyter Notebook 下载及安装
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (六)c52学习之旅-独立按键