11

我有一个问题,我确信它非常简单,但我找不到答案。我是一名动画师,在 Unreal Engine 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 的工具。

我想知道的:

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

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

我试过的:

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

  2. 我尝试使用源代码树的终端按钮通过终端运行几篇演练文章(包括我上面链接的文章)中的代码片段,并用我的复制代码替换所有占位符 url,但任何包含单词 bfg 的片段。罐子失败。我在网上为该工具找到的所有代码都会在终端中返回“找不到命令”消息,这并不奇怪,因为该工具只是位于我的下载文件夹中。

  3. 我看过“使用 .jar 文件”的文章,但我能找到的似乎都是对编码此类文件而不是运行它们更感兴趣,所以,我不知所措。

预先感谢您的任何帮助。

干杯,奥马尔

4

4 回答 4

7

Things that help when you are new to the terminal, that you will almost never find, in instructions for programs that run in a terminal:

  • You need to specify the exact name of the file to run. In my case, the latest version was bfg-1.12.15.jar. Either you rename the file to bfg.jar (but you might not want to if later you want to know the version you have), or you type it in just like that.
  • You need to specify the exact path to the file to run. In my case, it was in the home folder of my Ubuntu system, which is the root folder, and is denoted with a tilde ~. So, I put the command like this: java -jar ~/bfg-1.12.15.jar. You can specify any path by starting from the root folder and indicating folders nested within it with a forward slash, like ~/Music/Funk/James_Brown/get-on-up.mp3, for instance. The program will run from anywhere if the OS knows where to find it.
  • You need to be in the directory where you want the program to do its work, and run it from there. To change directories (also known as folders), the command is cd, then you specify the path as shown above.
  • To get help when you are stuck, you need to look for articles on how to use a terminal, or how to use bash. That tells you the general introductory stuff you need.
于 2017-09-08T18:49:59.397 回答
1

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

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

于 2018-07-04T18:30:40.890 回答
1

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

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

$ java -jar bfg.jar

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

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

于 2016-05-11T04:26:47.347 回答
-1

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

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

于 2016-11-29T04:27:09.137 回答