自学内容网 自学内容网

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完全还原到上一版本

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


原文地址:https://blog.csdn.net/bayinglong/article/details/147227324

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!