在 Git 中,当我需要重写历史以移除或修改特定文件的所有提交记录时,如果我要修改的是多个分支的历史而不仅仅是当前分支,该如何操作?
1条回答 默认 最新
关注该回答引用自GPT-4o由博主小ᶻZ࿆编写:
要重写多个分支的历史,可以使用 git filter-repo 命令,并指定多个分支:
- 指定多个分支进行过滤:
git filter-repo --path sensitive-file.txt --invert-paths --refs refs/heads/branch1 refs/heads/branch2 - 这会移除 sensitive-file.txt 在 branch1 和 branch2 上的所有历史记录。
确保将更改强制推送到远程仓库:
这种方法会重写指定分支的历史,删除目标文件的所有记录。git push origin branch1 --force git push origin branch2 --force
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 指定多个分支进行过滤: