从git历史记录中删除敏感数据但不删除文件

从git历史记录中删除敏感数据但不删除文件,git,version-control,github,Git,Version Control,Github,我有一个曾经包含敏感配置信息的文件。我将配置信息移出到另一个不受版本控制的文件中。我想让另一个文件处于版本控制之下,但我想删除它的历史记录,因为人们可以轻松地在github上浏览源代码,并在以前的提交中找到敏感信息。最好的方法是什么?我只看到如何从版本控制中删除文件本身并清除其历史记录 git有点生疏,所以请原谅这位新保姆 您可能想看看这篇文章 这个命令差不多是这么说的 git filter-branch --force --index-filter 'git rm --cached --ign

我有一个曾经包含敏感配置信息的文件。我将配置信息移出到另一个不受版本控制的文件中。我想让另一个文件处于版本控制之下,但我想删除它的历史记录,因为人们可以轻松地在github上浏览源代码,并在以前的提交中找到敏感信息。最好的方法是什么?我只看到如何从版本控制中删除文件本身并清除其历史记录


git有点生疏,所以请原谅这位新保姆

您可能想看看这篇文章

这个命令差不多是这么说的

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch Rakefile' \
  --prune-empty --tag-name-filter cat -- --all

将从git中删除
Rakefile
的历史记录。但是,他们继续将该文件添加到gitignore中。您可能应该跳过该部分,因为您希望将文件保持在版本控制中

非常常见的问题:Github有一个解决方案。看看吧。解释一下它的实际作用会很好。链接的文章解释了如何删除文件。OP的问题标题是“不要删除文件”。@TylerCollier如果您阅读了我的回答,它会声明不要将文件添加到
gitignore
,因为这样会使其脱离版本控制。这将从历史记录中删除文件,从而允许删除敏感数据。OP已经知道如何做到这一点:
我只知道如何从版本控制中删除文件本身并清除其历史记录。
我认为他只想从历史记录中删除敏感信息,而不想删除历史记录本身。该死的废话。无论发生了什么,只需单击鼠标右键即可删除历史记录。极其复杂。不能让它工作。不断收到消息,说明它保持不变。