GitLens或者Git Graph在vscode中对比文件历史变化,并将历史变化同步到当前文件中

有时候我们上周改的代码,现在想反悔把它恢复过来,怎么办???很好,你有这个需求,说明你找对人了,那就是我们需要在vscode中安装这个插件:GitLens或者Git Graph,他们都是非常相似的工具,但是各有千秋,可以根据需要使用不同的插件来开发。

GitLens

GitLens 是强大的Git集成插件,可以帮助我们实时查看Git提交信息,轻松进行代码溯源。

安装GitLens 插件之后在每行代码的末尾,GitLens 都会公开最后一次提交的作者、提交的时间以及其他详细的备注信息。

GitLens提供了可单击的链接,公开了提交详细信息,并允许您从快速选择菜单中进行选择,以比较、导航和进一步探索每个提交。

其实我们这次要做的恢复到之前某次提交的内容,就在这个FILE HISTORY里面,比如我们想要恢复两周之前的某次提交内容,就可以点开这个文件,右键查看 open file history:

跳转到这个文件的变化历史,选中一个提交历史,第二个图标点击一下:

在有变化的区域就会显示颜色变化:

然后点击中间的 -> 就可以将两周前的内容覆盖到当前的文件中。

如果你只是查看两周之前的文件内容是啥,就可以点击第一个图标:

如果在查看两周前做了哪些变化的文件中,想恢复到当前文件中,可以右键点击:

就会很快跳转到比对两次变化的操作中。 

Git Graph

Git Graph是一个用于可视化Git分支和提交历史的工具。它以图形的方式展示了Git存储库中的分支组织结构和提交历史。通过查看Git Graph,您可以更好地理解Git存储库的进展和开发工作。

1. 分支:Git graph中的每一条线代表一个分支。分支是为了在开发过程中独立地开展任务,使得不同功能的代码可以独立开发,方便合并和管理。在Git graph中,分支通常从主分支(例如master)派生出来,然后可以合并回主分支。分支之间可以同时存在多个,并且可以在开发过程中随时创建和删除。

2. 提交:Git graph中的每个小圆圈代表一个提交,即代码库中一次变更的记录。每个提交都具有唯一的标识符(commit hash),以及与之关联的提交消息,描述了该次变更的内容。通过查看提交历史,可以了解每个版本之间的差异和变更情况。

3. 合并:在Git graph中,分支的合并以箭头的形式表示,箭头指向合并时目标分支。合并表示将一个分支的变更合并到另一个分支中。通过合并,可以将不同分支上的代码变更合并到主分支上,形成一个统一的项目。合并后的节点在图形中会显示一个合并节点,表示该节点之前的两个分支已经合并。

4. 冲突:当两个分支上的代码有冲突时,在Git graph中会显示冲突节点。冲突表示同一段代码在不同分支上有不一致的修改,Git无法自动决定如何合并。此时,需要手动解决冲突,并重新提交。

5. 历史追溯:通过Git graph,可以从整个项目的历史记录中追溯代码的变更情况。可以看到每个提交的详细信息,包括作者、提交时间、变更内容等。通过历史追溯,可以了解项目的发展历程,为排查问题、了解代码背景和进行版本回退等提供便利。

可以快速切换分支:

可以对别文件提交历史和现在的文件区别,并将历史记录添加到现在文件中:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/15853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

门禁-jenkins的构建状态同步到gitlab提交流水线

API接口文档 https://docs.gitlab.cn/jh/api/commits.html 配置pipline流水线 生成http请求代码: 使用HttpRequest插件生成 - sharelibs内容 //这是share libs里的 package devopsdef httpReq(reqType, reqUrl, reqBody, accessToken){def gitServer "…

有一个3x4的矩阵,要求用函数编写程序求出其中值最大的那个元素,以及其所在的行号和列号

常量和变量可以用作函数实参,同样数组元素也可以作函数实参,其用法与变量相同。数组名也可以作实参和形参,传递的是数组的起始地址。 用数组元素作函数实参: 由于实参可以是表达式,而数组元素可以是表达式的组…

2000 年至 2015 年中国(即水稻、小麦和玉米1km 网格)三种主要作物年收获面积的时空变化

摘要 可靠、连续的主要作物收获面积信息对于研究地表动态和制定影响农业生产、土地利用和可持续发展的政策至关重要。然而,中国目前还没有高分辨率的空间明确和时间连续的作物收获面积信息。全国范围内主要农作物收获面积的时空格局也鲜有研究。在本研究中&#xf…

2024年【熔化焊接与热切割】考试内容及熔化焊接与热切割考试报名

题库来源:安全生产模拟考试一点通公众号小程序 熔化焊接与热切割考试内容考前必练!安全生产模拟考试一点通每个月更新熔化焊接与热切割考试报名题目及答案!多做几遍,其实通过熔化焊接与热切割复审模拟考试很简单。 1、【单选题】…

SpringBoot【1】集成 Druid

SpringBoot 集成 Druid 前言创建项目修改 pom.xml 文件添加配置文件开发 java 代码启动类 - DruidApplication配置文件-propertiesDruidConfigPropertyDruidMonitorProperty 配置文件-configDruidConfig 控制层DruidController 运行验证Druid 的监控应用程序 前言 JDK版本&…

前端开发-添加公用的ts文件,并在Vue文件中引用

一般我们把页面要用的公用函数写在一个ts文件中 通过调用这个ts文件让我们可以在vue文件中使用函数 Eg:我们现在创建一个formRules.ts文件 然后在我们需要调用该函数体的vue文件中 import { required } from "/utils/formRules";有可能语法一开始会提示…

防火墙——域网络、专用网络、公用网络

在防火墙设置中,域网络、专用网络和公用网络是指计算机连接到网络时所处的不同环境。每种环境都有不同的安全级别和配置。 1、域网络(宽松) 域网络是指计算机加入了一个Windows域(Domain)环境,这通常在企业…

程序员的那些经典段子

哈喽,大家好,我是明智~ 本周咱们已经解决了在面试中经常碰到的OOM问题: 《美团一面,发生OOM了,程序还能继续运行吗?》 《美团一面:碰到过OOM吗?你是怎么处理的&#xff1…

白嫖的在线工具类宝藏网站清单,快点击进来收藏一波

简单整理了一下自己日常经常使用的10个免费工具网站,建议点赞关注收藏,快点分享给小伙伴们! 1.奶牛快传:用户体验更好的网盘工具。 https://cowtransfer.com/ 今年开始使用的一款网盘工具,和百度网盘类似,叫奶牛快传,如…

【设计模式】——装饰模式(包装器模式)

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…

数据结构--二叉搜索树

目录 二叉搜索树的概念 二叉树的实现 结点类 函数接口总览 实现二叉树 二叉搜索树的应用 K模型 KV模型 二叉搜索树的性能分析 二叉搜索树的概念 二叉搜索树(Binary Search Tree,简称BST)是一种特殊的二叉树,其具有以下几…

6818 android 修改开机 logo, 编译脚本分析

问题: 客户需要去掉 android5.1 的开机logo. 说明: 对于Android5.1 来说,uboot 与kernel 的logo 是一个。 过程: 其实对于开机logo 的修改很简单,直接参考厂家手册就可以了。 这是 android4.4 的开机logo 的修改&…

产品经理-需求收集(二)

1. 什么是需求 指在一定的时期中,一定场景中,无论是心理上还是生理上的,用户有着某种“需要”,这种“需要”用户自己不一定知道的,有了这种“需要”后用户就有做某件事情的动机并促使达到其某种目的,这也就…

FPGA实现多路并行dds

目录 基本原理 verilog代码 仿真结果​ 基本原理 多路并行dds,传统DDS的局限性在于输出频率有限。根据奈奎斯特采样定理,单路DDS的输出频率应小于系统时钟频率的一半。但是在很多地方,要使采样率保持一致,所以,为了…

【CTF Web】CTFShow web7 Writeup(SQL注入+PHP+进制转换)

web7 1 阿呆得到最高指示&#xff0c;如果还出问题&#xff0c;就卷铺盖滚蛋&#xff0c;阿呆心在流血。 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/\|\"|or|\||\-|\\\|\/|\\*|\…

CSP俄罗斯方块(简单易懂)

开始将题目理解成了&#xff0c;开始的列应该是从输入图案的最左端开始计算&#xff0c;将前面所有的空列都删掉&#xff0c;代码如下&#xff1a; #include<bits/stdc.h> using namespace std; const int N 1e410; const int M 1e510; int a[20][20]; int b[5][5];int…

leedcode【203】. 移除链表元素——Java解法

Problem: 203. 移除链表元素 题目思路解题方法复杂度Code效果 题目 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val…

OS复习笔记ch6-1

死锁的原理 定义 一组进程中&#xff0c;其中每个进程因等待事件而阻塞&#xff0c;且所等待的事件只能被这组进程中的另一阻塞进程激发称之为死锁。 举例如下 四个车辆希望紧迫的希望能很快通过&#xff0c;每辆车需要两个象限的资源&#xff0c;然而四个车都只得到一个象…

电子电器架构 - AUTOSAR软件架构介绍

电子电器架构 - AUTOSAR软件架构介绍 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己…