从Git仓库清除文件失败,无法创建新的备份
我尝试通过运行以下命令从远程回购中删除文件:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD
但Git抱怨说
无法创建新的备份。 之前的备份已经存在于refs / original /
用-f强制覆盖备份
rm:无法删除/.git-rewrite/backup-refs:权限被拒绝
rm:无法删除目录/.git-rewrite:目录不为空
这是在我已经删除Windows上的.git-rewrite目录之后。
我如何删除该文件? 这是一个位于我的回购站上的29Mb文件,所以我非常需要删除该文件。
我试图删除git rebase -i
的提交,但显然是因为提交触及了很多不同的文件,Git抱怨冲突,我放弃了安全。
您已经执行了过滤器分支操作。 在过滤分支之后,Git会保留旧的提交,以防出现问题。
你可以在.git/refs/original/…
找到它们。 删除该目录及其中的所有文件,或使用-f
标志强制Git删除旧的引用。
git filter-branch -f
--index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD
使用此命令删除原始备份:
git update-ref -d refs/original/refs/heads/master
这里是我用来过滤分支我的git回购:https://gist.github.com/k06a/25a0214c98bc19fd6817
我有同样的问题,上面的答案没有解决它。 没有.git / refs / original /目录。 我的解决方案是删除.git / packed-refs文件。
链接地址: http://www.djcxy.com/p/46973.html上一篇: Purging file from Git repo failed, unable to create new backup
下一篇: How can I rewrite history so that all files, except the ones I already moved, are in a subdirectory?