git恢复误提交的内容
在图书馆敲下最后几行代码,然后就着手机热点把爬虫代码 push 上去之后,突然想起来,我好像忘了把账号密码部分改成手动输入,现在 push 上去的是明文啊!掀桌!早知道就回宿舍上传了,说不准还能想起来。
问题及其解决方案
已经上传了,即便我再改回来上传,别人也可以从 git log 里面看到我的账号密码。
那就版本回退,重新更新再上传。但是在我使用GitHub Desktop
的Revert this commit
的时候它却让我解决一大堆冲突……等会儿,啥时候多出来那么多“changes”???刚刚还一个都没有啊,怎么我用了这个选项还没回退就出现一大堆冲突?
我对 git 其实不熟练,用 GUI 界面也是,解决这些冲突比较麻烦。所以最后的解决方案比较粗暴:
- 删除本地库以解决那一大堆的冲突文件
- 从远程库 clone 回来
- 把库内文件全部打包复制在别的路径
- 在库里面打开 git bash,使用
git reset --hard 版本号
回到没出事的版本 - 将前面备份的文件复制回来
- 修改之后重新提交,完成
教训
- 得多准备一条分支,别直接在主分支上边写
- 一定要注意代码中的隐私信息!