从git历史记录中删除文件的某些内容

时间:2017-08-05 06:30:42

标签: git git-rewrite-history

当存储库被设置时,在初始提交中,其中一个添加的文件包含不应该存在的敏感数据(程序员个人信息)。是否可以从git历史中完全删除它?不是整个文件,只有几行包含敏感数据。

存储库是相当新的,因此没有分支,并且自初始提交以来未修改该特定文件。 (PS:我对git很新,我还不了解复杂的命令)

2 个答案:

答案 0 :(得分:5)

您现在可以编辑该文件以删除新提交中的违规内容,然后以交互方式重新提交该提交。这里有一个循序渐进的指南:https://stackoverflow.com/a/21353994/4323但要点是:

make sure you have a backup
edit thefile
git commit thefile -m "remove details"
git rebase -i --root

现在您将看到提交列表。从" pick"更改最后一个("删除详细信息")到" fixup",并将其移动到第一次提交之后。

此后,您可能需要git push -f来重写原始服务器上的历史记录。

答案 1 :(得分:-1)

这个你可以先搜索一下。参见例如这篇文章http://help.github.com/removing-sensitive-data/http://help.github.com/removing-sensitive-data/