Site icon 时鹏亮的Blog

Git 如何移除敏感信息

请知悉:本文最近一次更新为 3年 前,文中内容可能已经过时。

呐,假设误操作将敏感信息上传到了Git,如何优雅的移除敏感信息呢?一般姿势是rebase吧,个人来看挺麻烦的,恰逢最近自己智障,下沉代码的时候因为忽略的路径变了,把配置文件给传到仓库中了,所以要更正下这个问题,搜索了解实测了一下,具体方法如下:

假设要移除的文件路径(相对路径)如下:

code/config.yaml

则,执行如下指令:

git filter-branch --index-filter \
'git rm --cached --ignore-unmatch code/config.yaml' \
--tag-name-filter cat -- --all

之后,使用指令硬更新远端:

git push origin HEAD --force

严格来说,这其实和reabse类型,都是危险操作,但是呢,必要的时候倒算是灵丹妙药。


参考资料

Git: How to remove file from historical commit?


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《Git 如何移除敏感信息》相关的博文:

Exit mobile version