VSCode 查看 Git 的历史记录的三种技巧

前言

在我们日常开发工作过程中,可能经常会看到一些离谱的历史代码,或者当项目发生线上事故时,如何快速定位是谁提交的代码导致的?
作为前端开发者,VSCode 是目前最为流行的代码编辑工具,也是日常最常打开的软件。那么如果能够在VSCode里就能直接查看历史提交记录,将是一种很好的体验。VSCode 确实给开发者提供了多种查看Git历史记录的方式,本文将详细介绍各种使用方式。

使用方式

1. 内置 Git 历史记录查看

VSCode 自带了一些基础的 Git 功能,可以帮我们快速查看代码的历史记录。以下是操作步骤:

  1. 打开 Git 面板:在 VSCode 的左侧栏中点击 Git 图标,或者通过快捷键 Ctrl + Shift + G(Windows/Linux)或 Cmd + Shift + G(Mac)打开 Git 面板。
    [Image]

  2. 查看更改记录:在 Git 面板中,会显示当前工作区的所有变更文件。点击任意一个文件,你将看到该文件的更改内容。
    [Image]

  3. 查看文件历史记录:在编辑器中打开一个文件,右键点击文件内容区域,选择 View File History 即可查看该文件的所有历史提交记录。
    在这里插入图片描述
    在这里插入图片描述

2. GitLens 插件使用

尽管 VSCode 自带了一些 Git 功能,但要更详细地查看历史记录,我们推荐安装一个非常强大的插件——GitLens。

  1. 安装 GitLens:点击左侧栏的扩展图标(或者使用快捷键 Ctrl + Shift + X),搜索 GitLens 并安装。
    在这里插入图片描述2. 使用 GitLens 查看历史记录:
  • 文件注释:安装完成后,打开一个文件,你会看到每一行代码的旁边都有一行注释,显示最后一次修改这行代码的提交信息。
    [Image]

  • 查看文件历史:右键点击文件内容区域,选择 GitLens: Show File History。这样你将能看到该文件的详细历史记录,包括每次提交的差异。

  • 查看仓库历史:在左侧栏点击 GitLens 图标,选择 Repositories,然后选择你想查看的仓库,你将能看到整个仓库的提交历史。
    [Image]

  1. Git Blame 功能
    GitLens 插件的一个强大功能是 Git Blame。它可以让你快速查看某行代码是谁在什么时候修改的。这个功能对于代码审查和问题追踪非常有帮助。
  • 查看 Blame 注释:打开一个文件后,GitLens 会在每行代码旁边显示 Blame 注释,通过这些注释,你可以看到每行代码的提交信息。
  • 详细的 Blame 信息:点击某行代码旁边的 Blame 注释,会弹出一个详细的信息框,包含提交信息、提交者以及提交时间。
    [Image]

3. Git Graph 插件

除了 GitLens,还有另一个非常有用的插件是 Git Graph。它可以以图形化的方式展示 Git 提交历史,让你对项目的版本变化有一个直观的了解。

  • 安装 Git Graph:与安装 GitLens 类似,点击左侧栏的扩展图标,搜索 Git Graph 并安装。
    [Image]

  • 使用 Git Graph:安装完成后,按 Ctrl + Shift + P 打开命令面板,输入 Git Graph 并选择 Git Graph: View。你将看到一个图形化的 Git 历史视图,展示了各个分支和提交。
    在这里插入图片描述
    在这里插入图片描述

结语
VSCode 作为一款现代化的代码编辑器,已经为开发者提供了丰富的 Git 支持功能。通过 VSCode 和 GitLens 等插件的结合,我们可以极大地提升代码管理效率,从而专注于代码本身的质量和功能开发。版本控制是现代开发流程中不可或缺的一部分,掌握好 VSCode 中的 Git 功能,将助你在开发工作中游刃有余。

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

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

相关文章

OPC UA与PostgreSQL如何实现无缝连接?

随着工业4.0的推进,数据交换和集成在智能制造中扮演着越来越重要的角色。OPC UA能够实现设备与设备、设备与系统之间的高效数据交换。而PostgreSQL则是一种强大的开源关系型数据库管理系统,广泛应用于数据存储和管理。如何将OPC UA与PostgreSQL结合起来&…

python pip安装requirements.txt依赖与国内镜像

python pip安装requirements.txt依赖与国内镜像 如果网络通畅,直接pip安装依赖: pip install -r requirements.txt 如果需要国内的镜像,可以考虑使用阿里的,在后面加上: -i http://mirrors.aliyun.com/pypi/simple --…

基于System.js的微前端实现(插件化)

目录​​​​​​​ 写在前面 一、微前端相关知识 (一)概念 (二) 优势 (三) 缺点 (四)应用场景 (五)现有框架 1. qiankun 2. single-spa 3. SystemJ…

GO之流程控制

一、流程控制简述 一)流程控制的作用 流程控制语句是用来控制程序中语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑块 二)流程控制的分类 控制语句分为三类:顺序、选择和循环 顺序结构:依次执行&#xf…

通过Express + Vue3从零构建一个用户认证与授权系统(二)数据库与后端项目搭建与实现

前言 上一篇完成了系统的相关设计文档的编写,本文将详细介绍如何一步步使用 TypeScript 和 Express 搭建一个模块化、类型安全的用户认证与授权系统,包括数据库设计、后端项目搭建、用户认证、角色与权限管理、错误处理以及 Swagger 文档集成。 项目准…

Label Studio 半自动化标注

引言 Label Studio ML 后端是一个 SDK,用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例,以自动执行标记任务。我们提供了一个示例模型库,您可以在自己的工作流程中使用这些模型,也可以根据需要进行扩展和自定义。 1…

Ubuntu22.04环境下源码安装OpenCV 4.8.1

因为项目需要用OpenCV对yolov8模型进行推理,通过DNN模块,之前本地的OpenCV版本是4.5.4(好像安装完ROS2 humble之后系统就自带了opencv),加载onnx模型一直报错,网上查询到需要4.7以上,干脆直接升…

开发教程 | 插件使用常见问题与调用攻略

Q1:插件是什么? 插件可以理解为是在一些专业领域上的单独的专精模型,比如专门生成PPT的模型、专门生成简历的模型。 大模型本身其实只是一个文字生成工具,只能根据自己在预训练过程中投入的语料以及用户的指令来回答问题。这给大…

内核定时器API实现点灯

1.内核定时器 定时器是一个很常用的功能,需要周期性处理的工作都要用到定时器。 Linux 内核定时器 采用系统时钟来实现,并不是6ull里面的硬件定时器。 Linux 内核定时器使用很简单,只需要提供超时时间(相当于定时值)和定时处理函数即…

500万人报名的软考到底是什么?有什么用?考什么?怎么报名?

软考是目前中国计算机领域最权威的认证考试之一,被广大IT从业者视为职业生涯发展的重要里程碑。通过参加软考,考生可以获得国家级资格认证,证明其具备一定的计算机专业知识和技能。本文将详细介绍软考的相关信息,帮助读者了解软考…

大数据-159 Apache Kylin 构建Cube 准备和测试数据

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

QT TCP服务器/客户端

服务器 首先要在.pro文件中添加network&#xff0c;否则将不能使用QTcpserver QT core gui network#ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> #define PORT 8000QT_BEGIN_NAMESPACE namesp…

使用Rollup.js快速开始构建一个前端项目

Rollup 是一个用于 JavaScript 项目的模块打包器&#xff0c;它将小块代码编译成更大、更复杂的代码&#xff0c;例如库或应用程序。Rollup 对代码模块使用 ES6 模块标准&#xff0c;它支持 Tree-shaking&#xff08;摇树优化&#xff09;&#xff0c;可以剔除那些实际上没有被…

第7章 网络请求和状态管理

一、Axios 1 Axios概述 Axios是一个基于Promise的HTTP库&#xff0c;可以发送get、post等请求&#xff0c;它作用于浏览器和Node.js中。当运行在浏览器时&#xff0c;使用XMLHttpRequest接口发送请求&#xff1b;当运行在Node.js时&#xff0c;使用HTTP对象发送请求。 Axios的…

【jeston】torch相关环境安装

参考&#xff1a;玩转NVIDIA Jetson &#xff08;25&#xff09;— jetson 安装pytorch和torchvision torch install 安装环境 conda create -n bisenet python3.8 conda activate bisenethttps://forums.developer.nvidia.com/t/pytorch-for-jetson/72048 import torch pri…

java异步多线程Async学习记录

java异步多线程Async学习记录 第1步:声明线程池AsyncConfiguration import org.springframework.context.annotation.Bean; import org.springframework

关联信息融合的知识图补全方法

目前&#xff0c;一些基于知识表示学习的补全方法没有充分考虑多步关系路径中各关系与直接关系之间的关联信息&#xff0c;以及头尾实体类型与直接关系之间的关联信息。 本论文对这些关联信息进行提取和利用&#xff0c;并提出了知识图补全的AiTransE模型。该模型利用首尾实体之…

基于华为云智慧生活生态链设计的智能鱼缸

一. 引言 1.1 项目背景 随着智能家居技术的发展和人们对高品质生活的追求日益增长&#xff0c;智能鱼缸作为一种结合了科技与自然美的家居装饰品&#xff0c;正逐渐成为智能家居领域的新宠。本项目旨在设计一款基于华为云智慧生活生态链的智能鱼缸&#xff0c;它不仅能够提供…

BugReport中的网络差现象

一、摘要 当出现网络不好时(日志关键字“process data stall”)&#xff0c;会出现com.android.networkstack.process 后台进程联网访问“http://www.google.cn/generate_204”进行网络检测的行为&#xff0c;会额外带来功耗电流。遇到这种情况&#xff0c;主要是环境因素&…

Echarts图表柱状图基本用法(横向、纵向、柱宽度、圆角、图表渐变色、图表滚动条、图例样式等)

效果图&#xff1a; JS: function chart(){var chartDom document.getElementById(这里写div的id名称);var myChart echarts.init(chartDom);var option;myChart.clear();//图表清除&#xff0c;用于更新数据重新加载图表option {//编辑图表整体布局宽、高等等grid:{top:20…