IT评测·应用市场-qidao123.com

标题: 如果不小心git reset --hard了怎么恢复代码? [打印本页]

作者: 西河刘卡车医    时间: 2024-9-1 09:17
标题: 如果不小心git reset --hard了怎么恢复代码?
1 媒介

本来是想把commit的存在缓存区的代码删除,再重新commit一遍的,用了git reset --hard HEAD^ 这个命令后,没想到当地代码退回到初始版本了,修改过的全部不见了。(悔不当初!)
2 解决办法

条件: git上传代码到堆栈add、commit、push,代码必须是commit过的才有效,只有add不行。
2.1 步骤1

  1. git fsck --lost-found
复制代码

找到commit过的代码痕迹,dangling commit后面跟的就是代码。
2.2 步骤2

  1. git show [dangling commit后面的字符串]
复制代码

查看哪一个是自己删除的代码。
2.3 步骤3

  1. git rebase [dangling commit后面的字符串]
复制代码

恢复啦。
3 跋文

这个方法必须是commit过的代码才行,如果只有add那还是恢复不了。所以,人生建议谨慎使用reset命令!
4 跋文2.0

顺便来个正确的删除commit而不删除当地代码的方法:
git log打印commit日志
git reset --soft [commit版本号]回退到这个版本的commit
接着实行add、commit、push就行了

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4