git - 在git中的所有提交中编辑一个文件

标签 git

我犯了一个错误,git 存储库中某个项目的一个文件包含密码。这不是问题,因为它不是公共(public)仓库,但我想在仓库中删除该密码。

存储库历史非常简单,因为我是唯一的开发人员,所以它只有 12 次提交,其中一次提交被标记。

这种情况下的更改不会影响历史记录(差异将保持不变),因为我要删除的密码仅在第一次提交时就存在。我想删除该字符串,就好像它从来没有存在过一样。

是否有某种命令可以执行此操作,或者我必须使用没有密码的新起点从头开始重新生成历史记录,并在其上应用差异?

最佳答案

参见 https://help.github.com/articles/remove-sensitive-data .如果您没有删除该文件,该文件将出现在所有提交中,因为所有提交都包含整个存储库的状态。

基本上,您需要做的是对所有提交运行一个过滤器分支,然后强制将其推送到 repo 协议(protocol)中。该命令具有破坏性,将更改该文件已存在于存储库中的所有提交,因此请小心。

关于git - 在git中的所有提交中编辑一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14010822/

相关文章:

xcode - 被 Git/Xcode 和 GitHub for Mac 难住了

git - TFS GIT - 如何仅提交某些文件?

git - 使用 Git 特性分支工作流,什么时候更新 master 分支?

git - 在 Jenkins 上进行 git 时检查特定文件夹

git - 通过 ssh 进行两步 git 导入

git - 不使用 git branch -r 显示所有远程分支

r - 如何以相对方式使用 setwd?

gitlab - 使用 access_token 推送到存储库

Github - 流量 - 奇怪的 "Git clones"统计

git - 将我所有的 GitHub 存储库转移到 GitLab 的最快方法是什么?