git筛选器分支--树筛选器不删除文件
我们的git存储库中有一个错误提交的文件。首先,通过从 结果是git筛选器分支--树筛选器不删除文件,git,git-filter-branch,Git,Git Filter Branch,我们的git存储库中有一个错误提交的文件。首先,通过从 结果是6b82d8f18acd 716MiB MSSender/DebContainer.tar.tgz 然后,我使用git filter branch--tree filter“rm-f DebContainer.tar.tgz”HEAD--all命令从中删除所有分支中的这个文件。在处理过程中,它会创建一个gitrewrite文件夹,并以相同的大小创建.git文件夹?我可能做错了什么?谢谢。中记录了重写历史记录后缩小存储库大小的过程 某些
6b82d8f18acd 716MiB MSSender/DebContainer.tar.tgz
然后,我使用git filter branch--tree filter“rm-f DebContainer.tar.tgz”HEAD--all命令从中删除所有分支中的这个文件。在处理过程中,它会创建一个gitrewrite文件夹,并以相同的大小创建.git文件夹?我可能做错了什么?谢谢。中记录了重写历史记录后缩小存储库大小的过程 某些引用仍然可以访问删除的文件:
- 引用由
筛选器分支创建的备份
- 参考资料
.git
文件夹,必须去掉这些引用:
- 或者从重写的克隆创建新的克隆
- 通过删除引用和垃圾收集repo内容:
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d git -c gc.reflogExpire=now gc --prune=all
任何修改的引用都需要强制推送到原始存储库。
任何克隆此存储库的人都需要小心地更新其存储库(
git pull--rebase
对于每个本地分支都应该是最好的选择)重写历史记录后缩小存储库大小的过程记录在中
某些引用仍然可以访问删除的文件:
- 引用由
筛选器分支创建的备份
- 参考资料
.git
文件夹,必须去掉这些引用:
- 或者从重写的克隆创建新的克隆
- 通过删除引用和垃圾收集repo内容:
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d git -c gc.reflogExpire=now gc --prune=all
任何修改的引用都需要强制推送到原始存储库。
任何克隆此存储库的人都需要小心地更新其存储库(
git pull--rebase
对于每个本地分支都应该是最好的选择)您说您发现错误文件是MSSender/DebContainer.tar.tgz
,但您正在尝试删除文件DebContainer.tar.tgz
…是的,后来我还尝试删除了MSSender/DebContainer.tar.tgz
,但没有成功。还尝试删除了*.tgzi该文件在历史记录中仍然可见吗?(如果您的问题只是关于.git
没有减小大小:)文件被推送,然后在本地分支中删除,然后再次推送到开发分支(应用git流)。该文件仅作为对象存在于.git
文件夹中。那么,我关于减小.git
文件夹大小的问题您说您发现错误文件是MSSender/DebContainer.tar.tgz
,但您正在尝试删除文件DebContainer.tar.tgz
…是的,后来我还尝试删除了MSSender/DebContainer.tar.tgz
,但没有成功。还尝试删除了*.tgzi该文件在历史记录中仍然可见吗?(如果您的问题只是关于.git
没有减小大小:)文件被推送,然后在本地分支中删除,然后再次推送到开发分支(应用git流)。该文件仅作为对象存在于.git
文件夹中。所以,我的问题是如何减小.git
文件夹的大小