git clone帮助页面有这样的说法--mirror:
设置远程存储库的镜像.这意味着
--bare.
但是没有详细说明--mirror克隆与克隆的不同之处--bare.
(解决了,看到问题正文的底部)现在
寻找这个,我现在拥有的是:
几乎相同的方法,但它们都将对象留在包文件中......坚持.
我尝试了什么:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch file_name'
rm -Rf .git/refs/original
rm -Rf .git/logs/
git gc
Run Code Online (Sandbox Code Playgroud)
包中还有文件,这就是我所知道的:
git verify-pack -v .git/objects/pack/pack-3f8c0...bb.idx | sort -k 3 -n | tail -3
Run Code Online (Sandbox Code Playgroud)
还有这个:
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch file_name" HEAD
rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune
Run Code Online (Sandbox Code Playgroud)
相同...
尝试过的git clone技巧,它删除了一些文件(约3000个)但最大的文件仍然存在...
我在存储库中有一些大的遗留文件,大约200M,我真的不希望它们在那里...而且我不想将存储库重置为0 :(
解决方案:这是摆脱文件的最短路径:
refs/remotes/origin/master一个远程存储库的行,删除它,否则git将不会删除这些文件git verify-pack -v .git/objects/pack/#{pack-name}.idx | sort …如何从Git的历史中永久删除提交?
该团队的一名开发人员意外地提交了一个200 MB的文件并将其推送到我们的Git服务器.它被删除了几天,但历史就在那里.我们的代码文件只有大约75 MB,我们有4个分支.由于200 MB文件提交,历史记录将保留,项目文件夹(特别是隐藏的.git文件夹)的大小已经膨胀到接近700 MB.如何从git中永久删除两个签到(提交大文件,删除大文件),就好像它从未发生过一样?如果重要的话,我正在使用`TortoiseGit.