试图从GIT历史记录中删除大文件时,Refs/Head/Master不变



我不小心将大于100m的几个文件放入我的github存储库中,我试图将其推开,并且失败了。阅读了一些在线帖子后,我意识到我需要从GIT历史记录中删除该大文件。我遵循此处所述的程序https://help.github.com/en/articles/removing-sensistive-data-from-a-repository。但是我得到了如下所示的警告,这种方法没有解决。那么,/heads/master,/semotes/origin/master没有变化的原因是什么?非常感谢!

C:Users10453sourcerepossubgenomeAssignment>git filter-branch --force --index-filter "git rm --cached --ignore-unmatch ./gene Density/Nitab.1-12.gff" --prune-empty --tag-name-filter cat -- --all
Rewrite 2c09639875bee25f33e5233badd74552667d0e33 (47/48) (31 seconds passed, remaining 0 predicted)
WARNING: Ref 'refs/heads/master' is unchanged
WARNING: Ref 'refs/remotes/origin/master' is unchanged
WARNING: Ref 'refs/remotes/origin/master' is unchanged

这两个文件命名为 ./geneDensity/Nitab.1-12.gff

(请记住,Filter-Branch通过A shell 传递您的命令,而Shells则在空格处打破参数。(

如果文件实际上是命名为gene Density/Nitab.1-12.gff(其中有一个空间(,则需要引用文件名。这需要与您已经使用的不同引号,因为您的命令行壳删除了一组引号。所以:

git filter-branch --force 
    --index-filter "git rm --cached --ignore-unmatch 'gene Density/Nitab.1-12.gff'" 
    --prune-empty 
    --tag-name-filter cat 
    -- 
    --all

例如,可能会解决这个问题。(我已经将每组参数放在一行上,并带有反斜线 - 新线,以表明外壳应该继续前进,主要是为了可读性 - 您仍然可以作为一行做到这一点;关键是添加引号。我还删除了./,因为通常毫无意义地指定./,尤其是在始终从存储库的最高级别运行的过滤器分支片段中。(

最新更新