我已经对我的代码库进行了几次本地提交,并尝试将其推送到我的 repo,但是有相当多的大文件。我只是有点放弃,继续工作,进行本地提交。我现在已经删除了大文件,并再次提交,但它仍然试图推送原始大文件。在我最初提交它们以忽略超过 50mb 的任何文件后,我尝试添加一个 gitignore,但无济于事。
有任何想法吗?
小智 12
在此处阅读有关过滤器分支的信息。
有人不小心用一个粗心的 git add . 提交了一个巨大的二进制文件,你想把它到处删除。也许您不小心提交了一个包含密码的文件,并且您想让您的项目开源。filter-branch 是您可能想用来清理整个历史记录的工具。要从整个历史记录中删除名为 passwords.txt 的文件,您可以使用 --tree-filter 选项来过滤分支:
$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD
Rewrite 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21)
Ref 'refs/heads/master' was rewritten
Run Code Online (Sandbox Code Playgroud)
您还可以在提交这些文件的点对您的分支进行交互式 rebase,然后从该提交中删除它们。上面的链接也解释了这一点,但基本上:
git rebase -i HEAD~X
Run Code Online (Sandbox Code Playgroud)
将允许您编辑最后的 X 次提交。
| 归档时间: |
|
| 查看次数: |
9693 次 |
| 最近记录: |