我犯了一个错误,git 存储库中某个项目的一个文件包含密码。这不是问题,因为它不是公共(public)仓库,但我想在仓库中删除该密码。
存储库历史非常简单,因为我是唯一的开发人员,所以它只有 12 次提交,其中一次提交被标记。
这种情况下的更改不会影响历史记录(差异将保持不变),因为我要删除的密码仅在第一次提交时就存在。我想删除该字符串,就好像它从来没有存在过一样。
是否有某种命令可以执行此操作,或者我必须使用没有密码的新起点从头开始重新生成历史记录,并在其上应用差异?
最佳答案
参见 https://help.github.com/articles/remove-sensitive-data .如果您没有删除该文件,该文件将出现在所有提交中,因为所有提交都包含整个存储库的状态。
基本上,您需要做的是对所有提交运行一个过滤器分支,然后强制将其推送到 repo 协议(protocol)中。该命令具有破坏性,将更改该文件已存在于存储库中的所有提交,因此请小心。
关于git - 在git中的所有提交中编辑一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14010822/