Git/Bitbucket - 从整个 history/commits 中删除文件

Git/Bitbucket - Remove file from entire history/commits

按照 BFG 的说明,我开始删除不应出现在 repo/commit 历史记录中的私人文件。

https://rtyley.github.io/bfg-repo-cleaner/

我运行

$ bfg --delete-files .private  my-repo.git

并推送了更改,但它导致我合并主 b运行ch,文件仍然显示,代码在 .private 文件中,所有提交仍在历史记录中。

如何从整个存储库的提交历史等中删除 .private?

你将不得不强制推送。当您从历史记录中删除文件时,您正在创建新的提交和新的历史记录树。它不会将当前的 master 作为祖先,因此您需要合并或强制推送。如果您合并,正如您注意到的那样,该文件将返回。所以需要强制推送。

此外,任何使用 repo 的人都需要注意不要将他们的 master 合并回那里,否则文件将 "be back"。