起因

前两天写了江苏省青年大学习自动学习的脚本,但是在上传到github的时候忘记将个人信息删除了,还好一个老哥及时发现了,虽然我的个人信息并没什么用,转念一想,如果是我重要的个人信息的话,或者是用户的信息,泄露了可就麻烦了。

image-20220415010713592

解决过程

我一开始是直接在github上的在线编辑里面删除了信息,但是在历史记录里面还是可以看到以前的记录,所以我要做的不仅是删除当前的版本的个人信息,而且还要删除历史记录,因为我初次上传代码的时候就已经把个人信息上传上去了,所以就得回滚到一开始的位置。

下面我用一个我废弃的仓库做演示

image-20220415012145288

克隆远程仓库

1
git clone 仓库地址	

将克隆下来的所有文件复制到另一个文件,并修改,等到回滚后,在把他复制回来上传。

查看回滚版本号

进入克隆下来的文件,查看版本号

你可以使用git log查看历史提交信息

gitlog

也可以在github查看历史提交记录

你可以点击你仓库的commits,就会出现历史记录了

image-20220415013037146

image-20220415013053523

在找到你要回滚的版本后,复制版本号

就是git log里面commit后面的代码

github上的就是Verified后面的代码(6位数的只是简写,可以点击6位数代码前的复制按钮直接复制,也可以点进去后找到commit后面的一长串代码)

我的版本号就是1f0427e20ca909164e3c7a78131324d448ce526f

image-20220415013641786

回滚版本

命令行输入

1
2
git reset --hard 1f0427e20ca909164e3c7a78131324d448ce526f
git push -f

image-20220415014423552

现在就回到了最开始的版本了且只有一个版本,在他之后的版本都被删除了

再将你修改好的代码文件复制到仓库在提交到远程仓库就好了

再学一招

如果只是想回滚到某个版本但是不需要清除之后提交的信息可以输入下面的命令

1
2
3
git revert -n 1f0427e20ca909164e3c7a78131324d448ce526f
git commit -m "回到某个版本不删除这之后的提交记录"
git push