我正在尝试从我的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
您使用BFG Repo-Cleaner完全重写了git历史记录。如果确定这是您要执行的操作,则不想使用pull请求将分支与master合并。您想强制将每个分支推回GitHub。这要求取消保护所有受保护的分支。 (主机通常受到保护)。如果这不是您自己的私有存储库,那么您将要确保每个人都可以这样做。如果您正在执行此操作,请非常小心。
如果您确定要执行此操作。这些是您将需要的命令:
git checkout <branch> #do this for every branch on your guthub repo
git push origin --force
代替BFG,尝试new git filter-repo
,其中git filter-repo
示例:
用'p455w0rd'替换文本'password':
will replace the oldgit filter-branch
or BFG
但是最终结果将是相同的:一个新的提交历史记录,不仅是针对您当前的分支,而且还针对all分支(在其中找到您的密码)这意味着git filter-branch
可以覆盖远程存储库的历史记录。