当前位置: 首页 > news >正文

VS 中Git 中本地提交完成,没有推送,修改的内容如何还原

在 Visual Studio 中撤销本地提交但未推送的修改,可以通过以下方法实现:


一、保留修改内容(仅撤销提交记录)

  1. 使用 git reset --soft
    在 VS 的 Git 终端中执行:

    git reset --soft HEAD~1
    
    • 作用:撤销最后一次提交,但保留所有文件修改在 暂存区(即已 git add 的状态)。
    • 适用场景:想重新整理提交信息或拆分修改内容。
  2. 使用 git reset --mixed(默认选项)

    git reset HEAD~1
    
    • 作用:撤销提交,并将修改保留在 工作区(即未 git add 的状态)。
    • 适用场景:需要重新选择部分文件提交。

二、彻底丢弃修改内容(还原到提交前状态)

  1. 使用 git reset --hard

    git reset --hard HEAD~1
    
    • 作用:完全删除最后一次提交及其所有修改,还原到上一个提交的代码状态。
    • 警告:此操作不可逆!确保已备份重要代码。
  2. 通过 VS 界面操作

    • 打开 团队资源管理器 → 分支 → 右键目标分支 → 重置 → 选择 硬重置。

三、撤销多个未推送的提交

git reset HEAD~n  # n 表示要撤销的提交数量(如 HEAD~2 撤销最近两次提交)
  • 可搭配 --soft--mixed--hard 参数控制还原程度。

四、补充说明

  1. 查看提交历史
    在终端输入 git log --oneline 或通过 VS 的 提交历史 界面确认要撤销的提交 ID。
  2. 恢复误删的修改
    如果误用 --hard,可通过 git reflog 找到提交哈希值,再 git reset --hard <commit_id> 恢复。

操作流程总结

需求命令/操作结果状态
修改保留在暂存区git reset --soft HEAD~1可重新提交或修改
修改保留在工作区git reset HEAD~1 或默认重置需重新 git add
彻底删除修改git reset --hard HEAD~1完全还原到上一版本

注意:以上操作仅影响本地仓库,未推送的提交不会同步到远程仓库。

相关文章:

  • 【Python爬虫】详细工作流程以及组成部分
  • 数据结构---跳表
  • 每日一道leetcode(回来了!!!)
  • 信息系统项目管理师-工具名词解释(上)
  • A2A协议实现详解及示例
  • 深入解析Java中的双向队列(Deque):操作、实现与应用
  • Django 开发服务器
  • n8n AI工作流平台使用教程
  • #MES系统中的一些相关的名词
  • Linux命令-vim编辑
  • 2025年Q1 AI 学习应用总结
  • 8.8.1 简易计算器
  • css一些注意事项
  • 【linux】使用LNMP环境+Discuz论坛源程序
  • Excel处理控件Aspose.Cells指南:使用 Python 删除 Excel 中的重复行
  • Web Worker 中的 DedicatedWorkerGlobalScope 对象
  • LeetCode hot 100—搜索二维矩阵
  • 单片机 + 图像处理芯片 + TFT彩屏 触摸开关控件 v1.2
  • C语言核心结构+难点精讲+工程技巧
  • LLM - Dify 平台介绍
  • 浙商银行外部监事高强无法履职:已被查,曾任建行浙江省分行行长
  • “不意外”和“不遗余力”,直击上海商超对接外贸企业
  • 中国纪检监察报刊文:要让劳动最光荣成为社会的崇高风尚
  • 《奇袭白虎团》原型人物之一赵顺合辞世,享年95岁
  • 全球前瞻|王毅赴巴西出席金砖外长会,加拿大迎来“几十年来最重要大选”
  • 第二十届中国电影华表奖揭晓!完整获奖名单来了