GIT仓库历史记录清理-逐步尝试了BFG-但是PR有更多差异-以及如何检查是否从历史记录中删除了密码

问题描述 投票:1回答:2

我正在尝试从我的Git存储库历史记录中删除密码(我很早以前从我的GIT存储库中删除了密码,但没有从历史记录中删除,并且这次试图清除我的git repo的历史记录)

同样,从分叉主仓库开始,并按照步骤-BFG Repo-Cleaner并尝试像this一样在StackOverflow上进行搜索

[在本地git repo上执行的所有步骤,一切看起来都很好,最后是git push,但是此后,我看不到分叉仓库上的提交,尽管我看到了此消息This branch is 853 commits ahead, 853 commits behind,并且它提供了选择创建PR(以及比较),在此PR中,我看到了很多差异(例如一段时间后创建的新文件,该文件仍存在于当前版本中)与密码无关。正在尝试替换。

git版本为2.21.0

git github git-filter-branch git-rewrite-history bfg
2个回答
0
投票

您使用BFG Repo-Cleaner完全重写了git历史记录。如果确定这是您要执行的操作,则不想使用pull请求将分支与master合并。您想强制将每个分支推回GitHub。这要求取消保护所有受保护的分支。 (主机通常受到保护)。如果这不是您自己的私有存储库,那么您将要确保每个人都可以这样做。如果您正在执行此操作,请非常小心。

如果您确定要执行此操作。这些是您将需要的命令:

git checkout <branch> #do this for every branch on your guthub repo
git push origin --force

0
投票

代替BFG,尝试new git filter-repo,其中git filter-repo

示例:

用'p455w0rd'替换文本'password':

will replace the old git filter-branch or BFG

但是最终结果将是相同的:一个新的提交历史记录,不仅是针对您当前的分支,而且还针对all分支(在其中找到您的密码)这意味着git filter-branch可以覆盖远程存储库的历史记录。

© www.soinside.com 2019 - 2024. All rights reserved.