0

0

如何使用vscode的Git集成进行版本控制?【教程】

夜晨

夜晨

发布时间:2026-01-22 12:45:37

|

625人浏览过

|

来源于php中文网

原创

vs code git集成需正确打开含.git的根目录,新文件需右键stage,提交前确认staged区域,漏提交可用amend,切换分支前可discard或stash更改,远程分支需手动fetch。

如何使用vscode的git集成进行版本控制?【教程】

VS Code 的 Git 集成开箱即用,但默认配置下容易误操作(比如未暂存就提交、忽略 .gitignore、分支切换丢失修改),关键不是“能不能用”,而是“怎么避免踩坑”。

Git 面板里看不到文件变动?检查是否在工作区根目录

VS Code 的 Git 集成只对打开的**工作区根目录下存在 .git 文件夹**的项目生效。如果打开的是子文件夹(如 my-project/src),即使上层有仓库,Git 面板也会显示“未初始化”或空白。

  • 确认路径:在终端运行 git rev-parse --show-toplevel,看输出是否与 VS Code 左下角显示的文件夹路径一致
  • 正确做法:用 File > Open Folder... 打开含 .git 的最外层项目文件夹,而非单个文件或子目录
  • 临时补救:点击左下角源代码管理图标旁的“…”,选 Open Repository... 手动定位 .git 目录

点击“+”没反应?其实是没触发暂存(Stage)

VS Code 的“+”按钮对应 git add,但默认只对**已跟踪(tracked)文件的修改**生效;新文件(Untracked)需要右键菜单选 Stage Changes 或点击文件名左侧的加号图标(小 +),否则“+”主按钮会置灰。

仿优购鞋子商城整站 for ECSHOP
仿优购鞋子商城整站 for ECSHOP

ECSHOP仿优购鞋子商城整站源码,程序基于ECSHOP 2.7.3 UFT8版本制作,适合服装,鞋子,家居等商城使用。目前程序未添加广告位,请自行在网站后台进行添加。具体添加方法,请查看SHOPEX5站点的相关教程。 安装方法:1。访问 :域名/install2. 按照程序提示进行安装.3.安装完成后,登陆网站后台.选择数据库管理--数据库备份--数据库还原.,导入之前的数据库。4.后台-模板管

下载
  • 常见误操作:新建 utils.js 后直接点顶部“+”,无反应 → 实际需先右键该文件,选 Stage Changes
  • 批量暂存:勾选多个文件前的复选框,再点顶部“+”
  • 撤销暂存:在“STAGED CHANGES”区域右键文件 → Undo Stage(等价于 git restore --staged

提交后发现漏了文件?别急着 amend,先看状态栏提示

提交成功后,VS Code 状态栏(左下角)会显示当前分支名和最近一次提交的简短哈希(如 main @ a1b2c3d)。但如果提交时没勾选所有待提交文件,或者用了 git commit -m 而没带 -a,遗漏会直接进入“未提交更改”状态,下次提交仍会带上——这不是 bug,是 Git 默认行为。

  • 安全做法:提交前务必展开“CHANGES”和“STAGED CHANGES”两个区域,确认所有修改都在 STAGED 里
  • 补救方式:如果刚提交完就发现漏了,立即点 Git 面板右上角“…” → Amend Last Commit(等价于 git commit --amend),它会把暂存区内容合并进上一次提交
  • 注意:Amend 会改写历史,如果已推送到远程且他人已拉取,不要用

切换分支提示“无法切换,有未提交的更改”?别直接 stash

VS Code 检测到工作区有未提交变更时,会阻止分支切换,这是保护机制。但 Stash 并非唯一解——尤其当改动只是临时调试日志,不值得保留时,更轻量的方式是丢弃。

  • 快速丢弃全部未暂存更改:右键“CHANGES”区域 → Discard Changes(等价于 git checkout -- .
  • 只丢弃某个文件:右键该文件 → Discard Changes
  • 需要保留改动但又切分支?用 Stash(右键 → Stash Changes),之后可在 Git 面板底部“STASHES”里恢复(Apply Stash
  • 注意:Discard Changes 不可逆,没有回收站

真正容易被忽略的是:VS Code 的 Git 集成不会自动刷新远程分支列表,Fetch 需手动触发(右键分支名 → Fetch from Origin),所以“拉不到别人新推的分支”往往不是网络问题,而是本地还没 fetch 过。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

530

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

576

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

760

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

6179

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

492

2023.09.01

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

Js中concat和push的区别
Js中concat和push的区别

Js中concat和push的区别:1、concat用于将两个或多个数组合并成一个新数组,并返回这个新数组,而push用于向数组的末尾添加一个或多个元素,并返回修改后的数组的新长度;2、concat不会修改原始数组,是创建新的数组,而push会修改原数组,将新元素添加到原数组的末尾等等。本专题为大家提供concat和push相关的文章、下载、课程内容,供大家免费下载体验。

240

2023.09.14

js截取字符串的方法介绍
js截取字符串的方法介绍

JavaScript字符串截取方法,包括substring、slice、substr、charAt和split方法。这些方法可以根据具体需求,灵活地截取字符串的不同部分。在实际开发中,根据具体情况选择合适的方法进行字符串截取,能够提高代码的效率和可读性 。

303

2023.09.21

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.7万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 8.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号