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

Remove some content of a file from git history

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

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

您本可以先搜索这个。参见例如这个 post http://help.github.com/removing-sensitive-data/ 或者 http://help.github.com/removing-sensitive-data/

您现在可以编辑文件以删除新提交中的违规内容,然后以交互方式重新设置该提交的基线。此处提供分步指南: 但要点是:

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

现在您将看到一个提交列表。将最后一个 ("remove details") 从 "pick" 更改为 "fixup",并将其移动到第一次提交之后。

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