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