使用Git Revert后修改是否丢失?VS 2019已提交未推送修改如何恢复
Git已提交未Push误Revert后恢复修改的方案
完全可以恢复,操作方法如下:
方法1:通过VS 2019图形界面操作
- 打开VS 2019的Git Repository Explorer(Git仓库浏览器),查看当前分支的完整提交历史
- 在提交列表中找到你最开始提交的未Push的原始提交记录(不是后续生成的Revert提交,备注是你最初填写的提交说明)
- 右键点击该原始提交,选择Cherry-Pick选项,即可将该提交包含的所有修改重新应用到当前工作区
- 调整修改内容,剔除不需要的临时文件后重新提交即可
方法2:通过Git命令行操作
- 进入项目根目录,右键打开Git终端或系统终端
- 执行
git reflog命令,查看所有本地Git操作的历史记录,每一条记录前对应唯一的7位提交哈希值 - 从输出结果中找到你最初提交的那条记录对应的哈希值
- 执行
git cherry-pick <原始提交哈希值>,即可直接恢复该提交的所有修改并生成新提交;如果需要先修改内容再提交,可执行git cherry-pick <原始提交哈希值> -n,修改会直接落到工作区不会自动提交
注意事项
- 只要你没有手动执行过
git gc这类Git垃圾清理命令,半年内的本地提交记录都会被保留,不存在丢失的情况 - Revert操作的本质是生成一条新的反向提交来抵消目标提交的修改,被Revert的原始提交不会从本地提交历史中删除
内容的提问来源于stack exchange,提问作者Computer
相关产品推荐
相关产品推荐

