这是来自a previous question on Stackoverflow的后续问题。
我试图从我的本地git历史记录中删除大文件,但该工具(BFG Repo-Cleaner)建议in this question表明我的私有GitHub存储库不是有效的git存储库。
我使用的命令是:
java -jar bfg-1.12.12.jar --strip-blobs-bigger-than 99M https://github.com/name/repo.git
最终导致:
Aborting : https://github.com/name/repo.git is not a valid Git repository.
我无法找到解决方案。该工具是否与私有或https GitHub存储库不兼容?
如何使用替代工具git-filter-branch
从我当地的git历史记录中删除所有大于99MB的文件?
该项目大约6MB,到目前为止只有大约50个提交,没有其他人正在进行此项工作。
答案 0 :(得分:10)
您已将GitHub网址提供给该工具,但其网站上的usage部分表示您应该使用您的存储库的本地副本:
用法
首先使用
--mirror
标记克隆您的仓库的新副本:$ git clone --mirror git://example.com/some-big-repo.git
这是一个bare回购,这意味着您的普通文件不可见,但它是您的存储库的Git数据库的完整副本,并且在此处指出你应该备份它以确保你不会丢失任何东西。
现在您可以运行BFG来清理您的存储库:
$ java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git
该页面上还有很多其他好的内容;我建议你在再次尝试之前阅读整篇文章。
答案 1 :(得分:3)
我已使用以下命令修复了该问题:
STEP 1
cd some-big-repo.git
STEP 2
java -jar path/bfg.jar --strip-blobs-bigger-than 100M
如果您位于repo目录中,则无需明确提及回购名称,它将自动检测回购并执行其工作。
答案 2 :(得分:1)
你应该记住,使用git,你在历史上所做的一切都必须做得很好,然后在你满意之后通过推送发布。
所以,在这里你必须给出你本地存储库的路径......