0

0

怎样利用VSCode进行Git版本控制?_从提交到推送的完整流程【教程】

紅蓮之龍

紅蓮之龍

发布时间:2026-01-20 23:31:22

|

470人浏览过

|

来源于php中文网

原创

VSCode依赖系统已安装的Git,需确保git在PATH中且终端可用;初始化仓库、暂存、提交、推送等操作均与命令行一致,但不支持一键创建远程库或hard reset。

怎样利用vscode进行git版本控制?_从提交到推送的完整流程【教程】

VSCode 本身不自带 Git,但能无缝调用系统已安装的 Git 命令行工具——只要你的 git 在终端可用,VSCode 的源代码管理(SCM)面板就能直接工作。

确认 Git 已正确安装并被 VSCode 识别

打开 VSCode 终端(Ctrl+`),输入:
git --version。如果返回类似 git version 2.40.1,说明 Git 可用;若提示 command not found,需先安装 Git 并确保它加入系统 PATH。

VSCode 默认会从系统 PATH 查找 git,不支持通过 GUI 安装路径硬编码指定。常见坑:

  • Windows 上用 Git for Windows 安装时,勾选 “Add Git to PATH”(推荐选 “Git from the command line and also from 3rd-party software”)
  • macOS 用 Homebrew 安装后,若用 zsh,检查 ~/.zshrc 是否有 export PATH="/opt/homebrew/bin:$PATH"
  • VSCode 启动方式影响 PATH:从桌面图标启动可能不加载 shell 配置,建议从终端执行 code . 打开项目

初始化仓库、添加文件并提交

在 VSCode 中打开一个空文件夹(非已有 Git 仓库),点击左侧活动栏的源代码管理图标(分支图标),底部状态栏会出现 “Initialize Repository”。点击即执行 git init

此时未跟踪的文件会列在 “CHANGES” 下方的 “UNTRACKED” 区域。操作逻辑和命令行一致:

  • 点击文件名左侧的 + 号,等效于 git add
  • 右键文件 → “Stage Changes”,或全选后点顶部 “+” 按钮,等效于 git add .
  • 在上方输入框写提交信息(必须非空),按 Ctrl+Enter 提交,等效于 git commit -m "xxx"

注意:VSCode 不默认启用 git commit --no-verify,如果项目配置了 pre-commit 钩子,失败时提交会被中断,且错误信息直接显示在弹窗中——这不是 VSCode 问题,是钩子本身拒绝。

推送(push)前必须关联远程仓库

提交只是本地操作。要推送到 GitHub/GitLab 等平台,得先有远程地址。VSCode 不提供“一键创建远程仓库”功能(不调用 GitHub API),你得手动创建空仓库,再复制其 HTTPS 或 SSH 地址。

在 VSCode 终端中运行:
git remote add origin https://github.com/username/repo.git

宣小二
宣小二

宣小二:媒体发稿平台,自媒体发稿平台,短视频矩阵发布平台,基于AI驱动的企业自助式投放平台。

下载

之后才能使用 UI 推送:

  • 点击 SCM 面板右上角 “...” → “Push”(首次推送会提示选择分支和远程)
  • 或点击状态栏分支名(如 main),选择 “Push to origin/main”

常见失败原因:

  • fatal: The current branch main has no upstream branch:没运行过 git push -u origin main,VSCode 的首次推送会自动加 -u,但如果你跳过这步直接点 Push,可能报错
  • HTTPS 方式推送时提示用户名密码:GitHub 已停用账户密码登录,需用 Personal Access Token(PAT)代替密码,或改用 SSH
  • SSH key 未添加到 ssh-agent 或 GitHub 账户:运行 ssh -T git@github.com 测试连通性

处理常见冲突与撤销误操作

VSCode 对合并冲突有可视化支持,但不会自动解决。当 git pullgit merge 出现冲突时,文件会在 SCM 面板中标为 “MERGING”,打开文件能看到 >>>>>> branch-name 的冲突标记。

你可以:

  • 鼠标悬停在冲突块上,出现 “Accept Current Change” / “Accept Incoming Change” / “Accept Both Changes” 快捷按钮
  • 手动编辑删掉标记行,保留想要的内容,保存后点击 “+” 添加,再正常提交

误提交但还没推送?在 SCM 面板点击 “...” → “Undo Last Commit”,等效于 git reset --mixed HEAD~1(保留修改,取消暂存和提交);如果想连修改也丢弃,得在终端手动 git reset --hard HEAD~1 —— VSCode UI 不提供 hard reset 选项,这是有意为之的安全限制。

真正容易被忽略的是:VSCode 的“暂存”(Stage)和“提交”(Commit)是两个独立动作,很多人点了 “+” 却忘了写提交信息按 Ctrl+Enter,结果文件一直卡在 “STAGED CHANGES” 里,以为已经提交成功。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6099

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

810

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1063

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1265

2024.03.01

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

641

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

528

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

264

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

550

2024.04.09

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

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

精品课程

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

共34课时 | 2.6万人学习

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

共98课时 | 7.5万人学习

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

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