VSCode 中的 Git Graph扩展使用详解

VSCode 中的 Git Graph 详解

1. 什么是 Git Graph?

Git Graph 是 VSCode 中的一款 Git 可视化扩展,它提供了一种 图形化方式 来查看 Git 提交历史、分支、合并记录等信息,使得 Git 版本管理更加直观和高效。

通过 Git Graph,你可以:

  • 可视化查看 Git 提交历史及分支结构
  • 轻松切换、创建、删除分支
  • 直接提交代码、推送到远程仓库
  • 解决合并冲突
  • 进行 cherry-pickrebase 等高级操作

2. 如何安装 Git Graph?

方法 1:通过 VSCode 扩展市场安装

  1. 打开 VSCode,按下 Ctrl + Shift + X 进入扩展市场。
  2. 在搜索框输入 Git Graph
  3. 选择 Git Graph 扩展(作者:mhutchie)。
  4. 点击 安装(Install)

方法 2:使用 VSCode 命令面板安装

  1. 按下 Ctrl + Shift + P 打开 命令面板
  2. 输入 Extensions: Install Extensions 并选择。
  3. 在搜索框输入 Git Graph 并安装。

3. Git Graph 的基本使用

3.1 打开 Git Graph

打开 Git Graph 方式有多种:

  • 在 VSCode 左侧 Git 图标 处,点击 Git Graph 按钮。
  • 使用命令面板 Ctrl + Shift + P,输入 Git Graph: View Git Graph 并选择。

Git Graph 打开后,会显示如下内容:

  • 分支结构:直观展示 master/mainfeaturedevelop 等分支。
  • 提交历史:每次提交(commit)都会显示提交信息、提交哈希、作者、时间等。
  • 远程分支状态:标记哪些分支已推送到远程,哪些还未同步。

3.2 Git Graph 界面介绍

Git Graph 的界面包含以下部分:

部分作用
提交历史显示提交的时间、作者、commit ID、提交信息
分支结构展示 Git 分支关系,如 masterfeature-x
提交操作右键提交可执行 checkoutrevertcherry-pick
远程仓库状态远程分支会显示 origin/main,本地未推送的提交会有标记

4. Git Graph 的常用操作

4.1 切换分支

  1. 在 Git Graph 界面中,找到你要切换的分支(例如 feature-x)。
  2. 右键点击分支,选择 “Checkout Branch”(签出分支)。

4.2 创建新分支

  1. 在 Git Graph 界面中,点击 “New Branch” 按钮。
  2. 输入新分支名称,例如 feature-new

4.3 合并分支

  1. 找到要合并的分支(例如 feature-x)。
  2. 右键该分支,选择 “Merge Into Current Branch”

4.4 解决冲突

如果合并时有冲突,Git Graph 会显示冲突标记:

  1. 打开冲突文件,VSCode 提供多种选项,如 Accept Current ChangeAccept Incoming Change 等。
  2. 解决冲突后提交。

4.5 回滚提交(Revert Commit)

  1. 在 Git Graph 里找到需要回滚的提交。
  2. 右键选择 “Revert Commit”

4.6 拾取提交(Cherry Pick)

  1. 在 Git Graph 里找到 feature-x 分支的提交。
  2. 右键选择 “Cherry Pick Commit”

4.7 推送 & 拉取

  • 推送本地分支到远程:右键 feature-x,选择 “Push Branch”
  • 拉取远程更新:右键 main,选择 “Pull”

4.8 删除分支

  • 删除本地分支:右键 feature-x,选择 “Delete Branch”
  • 删除远程分支:右键 feature-x,选择 “Delete Remote Branch”

5. Git Graph 进阶功能

5.1 Rebase(变基)

  1. 右键 feature-x,选择 “Rebase Onto…”
  2. 选择 main,然后进行变基。

5.2 查看 Tag(标签)

Git Graph 允许查看标签:

  1. 选择 “Show Tags”,可以看到 v1.0.0v2.0.0 等标签。
  2. 右键标签可执行 Checkout Tag

6. 总结

Git Graph 功能操作方式
查看提交历史打开 Git Graph
切换分支右键分支 → Checkout
创建分支New Branch
合并分支右键分支 → Merge
解决冲突选 Accept Change
回滚提交右键提交 → Revert
Cherry Pick右键提交 → Cherry Pick
变基(Rebase)右键 → Rebase Onto
推送远程分支右键 → Push

7. 结语

Git Graph 让 Git 版本控制更加直观,可视化分支、提交历史、合并等操作,使 Git 更易用!🚀

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

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

相关文章

蓝桥杯单片机第七届省赛

前言 这套题不难,相对于第六套题这一套比较简单了,但是还是有些小细节要抓 题目 OK,以上就是全部的题目了,这套题目相对来说逻辑比较简单,四个按键,S4控制pwm占空比,S5控制计时时间&#xff0…

【C语言】自定义类型讲解

文章目录 一、前言二、结构体2.1 概念2.2 定义2.2.1 通常情况下的定义2.2.2 匿名结构体 2.3 结构体的自引用和嵌套2.4 结构体变量的定义与初始化2.5 结构体的内存对齐2.6 结构体传参2.7 结构体实现位段 三、枚举3.1 概念3.2 定义3.3 枚举的优点3.3.1 提高代码的可读性3.3.2 防止…

我问了DeepSeek和ChatGPT关于vue中包含几种watch的问题,它们是这么回答的……

前言:听说最近DeepSeek很火,带着好奇来问了关于Vue的一个问题,看能从什么角度思考,如果回答的不对,能不能尝试纠正,并帮我整理出一篇不错的文章。 第一次回答的原文如下: 在 Vue 中,…

纯后训练做出benchmark超过DeepseekV3的模型?

论文地址 https://arxiv.org/pdf/2411.15124 模型是AI2的,他们家也是玩开源的 先看benchmark,几乎是纯用llama3 405B后训练去硬刚出一个gpt4o等级的LLamA405 我们先看之前的机遇Lllama3.1 405B进行全量微调的模型 Hermes 3,看着还没缘模型…

UbuntuWindows双系统安装

做系统盘: Ubuntu20.04双系统安装详解(内容详细,一文通关!)_ubuntu 20.04-CSDN博客 ubuntu系统调整大小: 调整指南: 虚拟机中的Ubuntu扩容及重新分区方法_ubuntu重新分配磁盘空间-CSDN博客 …

在 Zemax 中使用布尔对象创建光学光圈

在 Zemax 中,布尔对象用于通过组合或减去较简单的几何形状来创建复杂形状。布尔运算涉及使用集合运算(如并集、交集和减集)来组合或修改对象的几何形状。这允许用户在其设计中为光学元件或机械部件创建更复杂和定制的形状。 本视频中&#xf…

AI作画提示词:Prompts工程技巧与最佳实践

成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于物联网智能项目之——智能家居项目…

LLMs之DeepSeek:Math-To-Manim的简介(包括DeepSeek R1-Zero的详解)、安装和使用方法、案例应用之详细攻略

LLMs之DeepSeek:Math-To-Manim的简介(包括DeepSeek R1-Zero的详解)、安装和使用方法、案例应用之详细攻略 目录 Math-To-Manim的简介 1、特点 2、一个空间推理测试—考察不同大型语言模型如何解释和可视化空间关系 3、DeepSeek R1-Zero的简介:处理更…

二叉树——429,515,116

今天继续做关于二叉树层序遍历的相关题目,一共有三道题,思路都借鉴于最基础的二叉树的层序遍历。 LeetCode429.N叉树的层序遍历 这道题不再是二叉树了,变成了N叉树,也就是该树每一个节点的子节点数量不确定,可能为2&a…

详解单片机学的是什么?(电子硬件)

大家好,我是山羊君Goat。 单片机,对于每一个硬件行业的从业者或者在校电子类专业的学生,相信对于这个名词都不陌生,但是掌没掌握就另说了。 那单片机到底学的是什么呢? 其实单片机在生活中就非常常见,目前…

JavaScript Navigator:深入理解浏览器导航机制

JavaScript Navigator:深入理解浏览器导航机制 引言 在Web开发中,浏览器导航是用户与网页交互的重要部分。JavaScript Navigator对象提供了丰富的API,允许开发者深入理解并控制浏览器的导航行为。本文将详细介绍JavaScript Navigator对象的功能、使用方法以及在实际开发中…

MoonBit 编译器(留档学习)

MoonBit 编译器 MoonBit 是一个用户友好,构建快,产出质量高的编程语言。 MoonBit | Documentation | Tour | Core This is the source code repository for MoonBit, a programming language that is user-friendly, builds fast, and produces high q…

C# 实现 “Hello World” 教程

.NET学习资料 .NET学习资料 .NET学习资料 C# 作为一种广泛应用于.NET 开发的编程语言,以其简洁、高效和类型安全等特性,深受开发者喜爱。在踏入 C# 编程领域时,编写经典的 “Hello World” 程序是重要的起点,它能帮助我们快速熟…

数据密码解锁之DeepSeek 和其他 AI 大模型对比的神秘面纱

本篇将揭露DeepSeek 和其他 AI 大模型差异所在。 目录 ​编辑 一本篇背景: 二性能对比: 2.1训练效率: 2.2推理速度: 三语言理解与生成能力对比: 3.1语言理解: 3.2语言生成: 四本篇小结…

QT知识点复习

1.qt核心机制 对象树、信号和槽、事件机制 2.对象树的作用 优化了内存回收机制。子对象实例化的时候,被父对象放对象树上,父对象释放内存,子对象也释放内存 3.信号和槽的作用 实现多个组件之间的通讯 4.信号和槽的几种连接方式 1.UI界面提…

数据结构:优先级队列—堆

一、优先级队列 1、优先级队列概念 优先级队列,听名字我们就知道他是一种队列,队列在前面我们已经学习过了,它是一种先进先出的数据结构,但是在特殊的情况下,我们我们队列中元素是带有一定优先级的,它需要…

.Net Web API 访问权限限定

看到一个代码是这样的: c# webapi 上 [Route("api/admin/file-service"), AuthorizeAdmin] AuthorizeAdmin 的定义是这样的 public class AuthorizeAdminAttribute : AuthorizeAttribute {public AuthorizeAdminAttribute(){Roles "admin"…

什么情况下,C#需要手动进行资源分配和释放?什么又是非托管资源?

扩展:如何使用C#的using语句释放资源?什么是IDisposable接口?与垃圾回收有什么关系?-CSDN博客 托管资源的回收有GC自动触发,而非托管资源需要手动释放。 在 C# 中,非托管资源是指那些不由 CLR(…

【人工智能】基于Python的机器翻译系统,从RNN到Transformer的演进与实现

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 机器翻译(Machine Translation, MT)作为自然语言处理领域的重要应用之一,近年来受到了广泛的关注。在本篇文章中,我们将详细探讨如何使…

2025年2月2日(网络编程 tcp)

tcp 循环服务 import socketdef main():# 创建 socket# 绑定tcp_server socket.socket(socket.AF_INET, socket.SOCK_STREAM)tcp_server.bind(("", 8080))# socket 转变为被动tcp_server.listen(128)while True:# 产生专门为链接进来的客户端服务的 socketprint(&qu…