boo*_*ull 9 git version-control github bfg-repo-cleaner
这是关于Stackoverflow的上一个问题的后续问题.
我试图从我的本地git历史记录中删除大文件,但此问题中建议的工具(BFG Repo-Cleaner)表明我的私有GitHub存储库不是有效的git存储库.
我使用的命令是:
java -jar bfg-1.12.12.jar --strip-blobs-bigger-than 99M https://github.com/name/repo.git
Run Code Online (Sandbox Code Playgroud)
最终导致:
Aborting : https://github.com/name/repo.git is not a valid Git repository.
Run Code Online (Sandbox Code Playgroud)
我找不到解决方案.该工具是否与私有或https GitHub存储库不兼容?我如何使用替代工具git-filter-branch从我当地的git历史中删除所有大于99MB的文件?
该项目大约6MB,到目前为止只有大约50个提交,没有其他人正在进行此项工作.
Chr*_*ris 13
您已将GitHub URL提供给该工具,但其网站上的使用部分表明您应该使用存储库的本地副本:
用法
首先使用
--mirror标志克隆您的仓库的新副本:Run Code Online (Sandbox Code Playgroud)$ git clone --mirror git://example.com/some-big-repo.git这是一个裸仓库,这意味着您的普通文件将不可见,但它是您的存储库的Git数据库的完整副本,此时您应该对其进行备份以确保您不会丢失任何内容.
现在您可以运行BFG来清理您的存储库了:
Run Code Online (Sandbox Code Playgroud)$ java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git
该页面上还有很多其他好的内容; 我建议你在再次尝试之前阅读整篇文章.
小智 10
我已经使用以下命令修复了这个问题:
第1步
cd some-big-repo.git
Run Code Online (Sandbox Code Playgroud)
第2步
java -jar path/bfg.jar --strip-blobs-bigger-than 100M
Run Code Online (Sandbox Code Playgroud)
如果您在 repo 目录中,则无需明确提及 repo 名称,它会自动检测 repo 并完成其工作。