如何使用.jar工具BFG Repo Cleaner并减少git存储库?

时间:2016-05-05 11:52:42

标签: git jar repository sourcetree bfg-repo-cleaner

我有一个问题,我确信这很简单,但我无法找到答案。我是一名动画师,致力于虚幻引擎4,并使用Source Control,Bitbucket和Source Tree在当前项目上进行合作。我的编码专业知识在php和终端上划清界限让我害怕。我已经做了大量关于减少git存储库大小的研究,并取得了一些成功。

案例: 我的存储库中的空间不足(可能是因为UE4每次使用时都会节省一百万个自动保存文件)并且需要删除一些文件。

我发现了什么:

显然,git存储库上的文件并不是轻易删除的(为了安全起见)。似乎没有办法只是去存储库突出显示一些东西并点击删除。然而,到目前为止,我在StackOverflow中找到了两个有希望的潜在客户。

  1. 来自Sam Watkins的这些令人敬畏的一点代码给了我一些好的结果:http://sam.nipl.net/b/git-gc-all-ferocious
  2. 许多人建议使用名为BFG Repo Cleaner的工具。
  3. 我想知道的事情:

    1. 从我所读过的内容来看,BFG似乎是最快,最有效的 存储库减少的解决方案。这是准确的吗? 评估

    2. 网上有很多关于如何使用该工具的资源,(such as this one)但没有一个可以回答我(非常基本,我想象) 题。下载后,该怎么处理文件?我只是 双击它? .jar文件是否需要位于特定位置? 我必须运行它,然后按照说明进行操作吗?

    3. 我尝试过的事情:

      1. 我双击它似乎已经运行但没有效果。

      2. 我尝试从几篇演练文章中运行代码片段 (包括我上面提到的那个)通过终端使用 源树的终端按钮并替换所有占位符网址 与我的复制代码,但任何包含的代码片段 单词bfg.jar失败。我在网上找到了该工具的所有代码 返回未找到的"命令"终端中的消息,不是 令人惊讶的是,该工具只是位于我的下载文件夹中。

      3. 我看过"使用.jar文件"文章,但我尽我所能 find似乎对编写此类文件比运行更感兴趣 他们,所以,我不知所措。

      4. 提前感谢您提供任何帮助。

        干杯, 奥马

4 个答案:

答案 0 :(得分:4)

当你是终端新手时,你将几乎找不到的东西,在终端中运行的程序的说明中有所帮助:

  • 您需要指定要运行的文件的确切名称。就我而言,最新版本为bfg-1.12.15.jar。您可以将文件重命名为bfg.jar(但如果以后您可能不想知道您拥有的版本),或者您也可以将其键入。
  • 您需要指定要运行的文件的确切路径。就我而言,它位于我的Ubuntu系统的主文件夹中,它是根文件夹,并用波浪号~表示。所以,我把命令放在这样的:java -jar ~/bfg-1.12.15.jar。您可以通过从根文件夹开始指定任何路径,并使用正斜杠指示嵌套在其中的文件夹,例如~/Music/Funk/James_Brown/get-on-up.mp3。如果操作系统知道在哪里找到它,该程序将从任何地方运行。
  • 您需要位于您希望程序执行其工作的目录中,并从那里运行它。要更改目录(也称为文件夹),命令为cd,然后指定路径,如上所示。
  • 要在遇到困难时获得帮助,您需要查找有关如何使用终端或如何使用bash的文章。这会告诉您所需的一般介绍性内容。

答案 1 :(得分:1)

自v1.12.5起,BFG需要最低Java 7。没有UI,因此您需要从命令行运行它,但是有足够的文档可以在website上成功运行。双击jar文件不会让你到任何地方。

从命令提示符运行java版本7后,只需运行:

$ java -jar bfg.jar

...生成用法/选项,或参考网站。

要回答你的问题1),在其方法所施加的限制范围内,BFG确实是我所知道的在删除文件时重写历史记录的最快工具。

答案 2 :(得分:0)

转到复制此bfg.jar(较新版本的名称将不同)的目录,然后运行以下命令:

java -jar bfg-1.13.0.jar --strip-blobs-bigger-than 50M <Cloned GitRepo Path>

答案 3 :(得分:-1)

1)$ java -jar bfg.jar --replace-text replacements.txt my-repo.git 一旦我们运行此命令,它将自动提交给GitHub,或者我们需要在更改后显式提交它。它会对像Develop / Master这样的所有分支产生影响吗?

2)$ java -jar bfg.jar 我们可以从任何位置或我们应该下载的任何特定位置运行此Jar。