git技巧 - 删除敏感信息文件


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

前言

提交的仓库中如果包含了密码、密钥等是十分危险的,因此需要删除敏感信息文件

1.删除指定文件

$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY

$ cd YOUR-REPOSITORY

$ git filter-branch --force --index-filter "git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA" --prune-empty --tag-name-filter cat -- --all

$ git push origin --force --all

$ git push origin --force --tags

2.强制回退版本【慎用】

所有该版本之后的文件全部丢失,仅适用于刚发现提交错的情况下

git log

git reset --hard 8628628991470b26e698d98e986a54fa6b5f4352

git push origin --force

查看git reset帮助

git reset --help

语法规则

git reset [-q] [<tree-ish>] [--] <paths>…​
git reset (--patch | -p) [<tree-ish>] [--] [<paths>…​]
EXPERIMENTAL: git reset [-q] [--stdin [-z]] [<tree-ish>]
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
--hard
Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded.
重置索引和工作树。自<commit>以来对工作树中跟踪文件的任何更改都将被丢弃。

License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎

如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033


Reference:

  1. https://docs.github.com/en/github/authenticating-to-github/removing-sensitive-data-from-a-repository
  2. https://git-scm.com/docs/git-reset
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐