因此,我正在研究一个项目,并添加一个gitignore文件,以防止包含某些敏感数据,只是它无法按预期工作,现在已将其推送。有没有办法从远程存储库中删除它,因此历史记录中没有证据?
答案 0 :(得分:1)
您可以在本地还原更改
input
或
git commit --amend
然后执行
git reset <last-hash>
但是只能这样做
如果您:
提示:
请非常小心,在git push -f
之前,存储库处于您想要的状态,因为出于各种良好的原因,更改历史记录通常是一个很大的禁忌。
答案 1 :(得分:0)
如果敏感信息是在最近一次提交之前引入的,并且您想从整个树中删除它,我建议使用git BFG。
请参阅:https://help.github.com/articles/removing-sensitive-data-from-a-repository/
如果将敏感数据(例如密码或SSH密钥)提交到Git存储库中,则可以将其从历史记录中删除。要从存储库的历史记录中完全删除不需要的文件,可以使用git filter-branch命令或BFG Repo-Cleaner。
还有https://rtyley.github.io/bfg-repo-cleaner/
BFG是git-filter-branch的一种更简单,更快的替代方法,用于清除Git存储库历史记录中的不良数据:
- 删除疯狂的大文件
- 删除密码,凭据和其他私人数据