VSCode 中 Git 扩展的使用详解

news/2025/2/3 5:30:16/

VSCode 中 Git 扩展的使用详解

VSCode 内置了 Git 版本控制功能,支持 Git 分支管理、提交(commit)、推送(push)、拉取(pull)、合并(merge)、回滚(revert)、冲突解决等操作。下面详细介绍 VSCode 中 Git 扩展的使用方法,包括 UI 操作和对应的 Git 命令。


1. 启用 Git

VSCode 默认集成了 Git,不需要额外安装:

  • 确保本地已安装 Git(可运行 git --version 检查)。
  • 在 VSCode 中打开一个 Git 仓库(或者使用 git init 初始化)。
  • 进入 Source Control(源代码管理) 视图(快捷键:Ctrl + Shift + G 或点击左侧 Git 图标)。

2. Git 主要操作

2.1 初始化仓库

如果当前文件夹还不是 Git 仓库:

  1. 在 VSCode Source Control(源代码管理) 视图中点击 “Initialize Repository”(初始化仓库)。
  2. VSCode 会在当前目录下运行:
    git init
    
  3. 之后,VSCode 会自动检测文件状态。

2.2 克隆远程仓库

如果要从远程仓库(如 GitHub、GitLab)克隆代码:

  1. 打开命令面板Ctrl + Shift + P)。
  2. 输入 Git: Clone 并选择。
  3. 输入 Git 仓库 URL,例如:
    git clone https://github.com/user/repo.git
    
  4. 选择本地存储位置,VSCode 会自动下载并打开项目。

2.3 检查文件状态

VSCode Git 扩展会显示文件的不同状态:

  • U(Untracked):新文件,未添加到 Git 版本控制。
  • M(Modified):已修改但未提交。
  • A(Added):已添加到暂存区,但未提交。
  • D(Deleted):已删除文件,但尚未提交删除更改。
  • R(Renamed):文件重命名。

这些状态可在 Source Control 视图 中查看。


2.4 添加文件到暂存区

  • 方法 1:在 Source Control 视图 中,点击文件旁边的 +(Add changes)。
  • 方法 2:点击 “Stage All Changes”(暂存所有文件)。
  • 方法 3:使用 Git 命令:
    git add <文件名>  # 添加单个文件
    git add .         # 添加所有修改
    

2.5 提交代码

  • 方法 1
    1. Source Control 视图 中,输入提交信息。
    2. 点击 “✓”(提交) 按钮。
  • 方法 2
    git commit -m "提交信息"
    

2.6 推送代码

提交后,需要推送到远程仓库:

  • 方法 1:点击 Source Control 视图 右上角的 ,选择 Push(推送)。
  • 方法 2
    git push origin <当前分支>
    
    如果是首次推送:
    git push --set-upstream origin <当前分支>
    

2.7 拉取远程更新

如果远程仓库有更新,可以拉取(pull):

  • 方法 1:点击 “…” > Pull(拉取)。
  • 方法 2
    git pull origin <当前分支>
    

3. Git 分支管理

3.1 创建新分支

  • 方法 1
    1. Source Control 视图,点击 当前分支名称
    2. 选择 “Create New Branch”
    3. 输入新分支名,例如 feature-x,按回车创建。
  • 方法 2
    git checkout -b feature-x
    

3.2 切换分支

  • 方法 1
    1. 点击 当前分支名称
    2. 选择要切换的分支。
  • 方法 2
    git checkout feature-x
    
    或者:
    git switch feature-x
    

3.3 远程分支

  • 拉取远程分支:
    git fetch origin
    
  • 创建并切换到远程分支:
    git checkout -b feature-x origin/feature-x
    

3.4 合并分支

  • main 分支下合并 feature-x
    git checkout main
    git merge feature-x
    
  • 在 VSCode:
    1. 切换到 main 分支。
    2. 选择 “Merge Branch”,然后选 feature-x

7. 总结

Git 操作VSCode UI 方式命令行方式
初始化 Git点击 “Initialize Repository”git init
克隆仓库Git: Clonegit clone <URL>
添加文件+ Stage Changesgit add .
提交代码✓ 提交git commit -m "message"
推送代码Pushgit push
拉取更新Pullgit pull
切换分支选择分支git checkout <分支>
解决冲突选择修改方式git merge

掌握这些 Git 操作后,可以在 VSCode 中高效管理版本控制!🚀


http://www.ppmy.cn/news/1568876.html

相关文章

Python魔法函数

在Python中&#xff0c;的确有“魔法函数”&#xff08;Magic Methods&#xff09;这种说法&#xff0c;也被称为特殊方法&#xff08;Special Methods&#xff09;。这些函数的名称以双下划线开始和结束&#xff0c;例如 __init__、__len__ 等。它们为Python提供了一种约定俗成…

搜索引擎快速收录:关键词布局的艺术

本文来自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/21.html 搜索引擎快速收录中的关键词布局&#xff0c;是一项既精细又富有策略性的工作。以下是对关键词布局艺术的详细阐述&#xff1a; 一、关键词布局的重要性 关键词布局影响着后期页面…

MATLAB R2023b下载与安装教程

MATLAB R2023b 软件下载软件介绍安装步骤参考链接 软件下载 软件名称&#xff1a;MATLAB 2023b软件语言&#xff1a;简体中文软件大小&#xff1a;12.16G系统要求&#xff1a;Windows10或更高&#xff0c;64位操作系统硬件要求&#xff1a;CPU3GHz &#xff0c;RAM16G或更高下…

JVM对象分配内存如何保证线程安全?

大家好&#xff0c;我是锋哥。今天分享关于【JVM对象分配内存如何保证线程安全?】面试题。希望对大家有帮助&#xff1b; JVM对象分配内存如何保证线程安全? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中&#xff0c;对象的内存分配是通过堆内存进行的。…

qwen2.5-vl:阿里开源超强多模态大模型(包含使用方法、微调方法介绍)

1.简介 在 Qwen2-VL 发布后的五个月里&#xff0c;众多开发者基于该视觉语言模型开发了新的模型&#xff0c;并向 Qwen 团队提供了极具价值的反馈。在此期间&#xff0c;Qwen 团队始终致力于打造更具实用性的视觉语言模型。今天&#xff0c;Qwen 家族的最新成员——Qwen2.5-VL…

Springboot使用AOP时,需不需要引入AspectJ?

Springboot使用AOP时,需不需要引入AspectJ? 在Spring Boot中使用AOP时&#xff0c;是否需要引入AspectJ取决于你选择的具体AOP实现方式。以下是详细分步说明&#xff1a; 1. 默认场景&#xff1a;使用Spring AOP&#xff08;基于代理&#xff09; 不需要引入AspectJ依赖&am…

MINIRAG: TOWARDS EXTREMELY SIMPLE RETRIEVAL-AUGMENTED GENERATION论文翻译

感谢阅读 注意不含评估以后的翻译原论文地址标题以及摘要介绍部分MiniRAG 框架2.1 HETEROGENEOUS GRAPH INDEXING WITH SMALL LANGUAGE MODELS2.2 LIGHTWEIGHT GRAPH-BASED KNOWLEDGE RETRIEVAL2.2.1 QUERY SEMANTIC MAPPING2.2.2 TOPOLOGY-ENHANCED GRAPH RETRIEVAL 注意不含评…

MV结构下设置Qt表格的代理

目录 预备知识 模型 关联 刷新 示例 代理 模型 界面 结果 完整资料见&#xff1a; 所谓MV结构&#xff0c;是“model-view”&#xff08;模型-视图&#xff09;的简称。也就是说&#xff0c;表格的数据保存在model中&#xff0c;而视图由view实现。在我前面的很多博客…