这是BFG清理Git历史记录时的正常行为,它会复制你的旧提交并创建一个新提交,以清理你的原始提交中的敏感文件等。 但是,BFG同时也会保留你的原始提交,以便你可以继续使用它们。BFG复制你的旧提交时,会自动创建一个“重写的历史记录”分支,你可以在此分支上查看并验证清理后的历史记录。 如果你想查看所有提交并应用更新的提交,可以在完成BFG清理后使用Git merge将“重写的历史记录”分支合并到你的主要分支中。
以下是一个简单的BFG清理示例:
# 下载BFG并清理Git历史记录
$ java -jar bfg.jar --delete-files *.pdf my-repo.git
# 切换到“重写的历史记录”分支上
$ git checkout BFG-rewrite/master
# 查看并验证清理后的历史记录
$ git log
# 将“重写的历史记录”分支合并到主分支中
$ git checkout master
$ git merge BFG-rewrite/master