EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

QA

当你不小心把ApiKey和SecretKey以及密码提交进了Github你该怎么办?

辛辛苦苦写了个脚本,一个兴奋就给推送到GitHub了,然后才反应过来脚本里好像硬编码了帐号密码;根据某某SDK写了个客户端,一下子推送上去发现API Key忘了抹;更有甚者直接把SSHKey推送上去了……

回退?

No!

不要忘了Git是优秀的版本穿梭系统,你改了什么东西,都是看得到的。

最直接的方法就是删库。

不要问我为什么。

你要问其他方法,有是有,但是很烦。


第一个办法:改指针头(第一个办法已作废,看第二个办法)

首先,我建议你先备份一下现有的代码,接着:

git reset --hard acb28f2114413378d48ae3b257dca62a1cd29d0f【想要恢复到的版本commit id】

然后让你的库还原到这个commitId的状态:

git push origin HEAD --force

这两个指令你操作完之后,你会发现你本地文件被更改了,还原成了以前的。

然后呢,你再把最新的改动,提交上去吧。


第二个办法:

git reset --hard acb28f2114413378d48ae3b257dca62a1cd29d0f【想要恢复到的版本commit id】

然后正常提交:

git push -u origin master

这样你新提交的Commits就不见了。(这个时候你的本地代码库是没有变化的)

原理是你改了指针,然后再把现在的覆盖了原来的。

 

参考来源:

[1] git如何回滚?github如何回滚

This article was last edited at 2020-08-28 07:12:46

* *