git恢复误提交的内容

在图书馆敲下最后几行代码,然后就着手机热点把爬虫代码 push 上去之后,突然想起来,我好像忘了把账号密码部分改成手动输入,现在 push 上去的是明文啊!掀桌!早知道就回宿舍上传了,说不准还能想起来。

问题及其解决方案

已经上传了,即便我再改回来上传,别人也可以从 git log 里面看到我的账号密码。

那就版本回退,重新更新再上传。但是在我使用GitHub DesktopRevert this commit的时候它却让我解决一大堆冲突……等会儿,啥时候多出来那么多“changes”???刚刚还一个都没有啊,怎么我用了这个选项还没回退就出现一大堆冲突?

我对 git 其实不熟练,用 GUI 界面也是,解决这些冲突比较麻烦。所以最后的解决方案比较粗暴:

  1. 删除本地库以解决那一大堆的冲突文件
  2. 从远程库 clone 回来
  3. 把库内文件全部打包复制在别的路径
  4. 在库里面打开 git bash,使用git reset --hard 版本号回到没出事的版本
  5. 将前面备份的文件复制回来
  6. 修改之后重新提交,完成

教训

  • 得多准备一条分支,别直接在主分支上边写
  • 一定要注意代码中的隐私信息!
作者

憧憬少

发布于

2019-04-11

更新于

2019-04-11

许可协议