怎么完全撤销github里已经提交的文件

问题描述

因为不熟悉.gitignore规则(已经track的文件, 后写规则是不生效的)
不小心将一个包含密码的pwd.ext文件上传上github, 之后再git rm --cached,
push上去, 虽然删除了, 但是点开commit仍然能看到之前的那个pwd.ext的内容
请问该怎么解决呢?

阅读 4.6k
2 个回答
git rebase <commit-sha-id> -i

这个 <commit-sha-id> 随便找一个未提交 pwd.ext 之前的提交即可,然后利用 rebase 的交互模式,将 pwd.ext 从提交历史中删除即可。

至于怎么从提交历史中删除文件?看这个文章

然后,在确保万无一失的情况下, git push -f 一发入魂。

当然,如果在这之前,已经有人 fork 你的分支了,那就没办法了。

推荐问题
logo
Microsoft
子站问答
访问
宣传栏