开发人员认为将应用程序的安装文件放入TFS团队共享的GIT仓库中是一个好主意。所以我试图删除名为“Workstation Install”的GIT仓库中的文件夹,以便删除所有安装文件,然后修复现在大约1.6GB的包文件。
我尝试过BFG Repo-Cleaner和Git Extensions。 Git Extensions在运行BFG步骤后查看文件夹是否仍然存在。
我是GIT的新手,这些28个文件大约一年前被放入了回购邮件,然后才开始工作并发现问题。
有关如何执行此操作的任何帮助或步骤。
不知道如何为BFG执行此操作: 默认情况下,HEAD分支受到保护,并且在清除其历史记录时,最新的提交(“tip”)是受保护的提交,其文件层次结构根本不会更改。
答案 0 :(得分:1)
我没有使用Git Extensions(显然只是与Git交互的GUI工具)或TFS,但我会假设我们只是这里有一个Git存储库,我们不会处理一个更复杂的情况,它需要清理一些TFVC存储库的镜像。
我是GIT的新手,这28个文件被放入了回购 大约一年前,在我开始工作之前发现了这个问题。
好消息,这正是BFG创建解决的问题!
有关如何执行此操作的任何帮助或步骤。
BFG Repo-Cleaner的文档位于:https://rtyley.github.io/bfg-repo-cleaner/ ...如果你花时间阅读它,你肯定会发现它很有帮助,尤其是Usage部分(它解释了导致使用BFG的过程,以及继续使用BFG)以及{ {3}}和Your current files are sacred...部分。
我尝试过BFG Repo-Cleaner和Git Extensions。 Git Extensions看 如果在完成BFG步骤之后文件夹仍然存在。
当您尝试调用BFG时,您使用了哪些命令行参数,以及它为您提供了哪些错误或输出?这类信息对于试图帮助您的人来说总是有用的!我在你的情况下使用的命令应该是:
$ bfg --delete-folders "Workstation Install"
请注意,将带有空格的文件名传递给命令行应用程序总是有点微妙,但在双引号中包含文件夹名称(只是文件夹名称,而不是它在回购中的路径)应该可行。
不知道如何为BFG执行此操作:默认情况下,HEAD分支是 保护,虽然它的历史将被清理,最新的 commit(' tip')是受保护的提交,其文件层次结构不胜 完全改变了。
您在那里引用了BFG的文档中的Examples部分,因此我猜测您已经阅读过但很遗憾它并非如此够清楚了吗?
您可能会发现阅读Your current files are sacred...很有帮助,这是一个不同的人在BFG中对此安全功能的另一种说法。
尝试再次解释一下:你不想要这些文件,对吧?所以你可以通过正常提交从主分支中删除它们来开始吗?此时,您可以检查您的项目是否仍然工作没有这些文件(这听起来很可能在您的情况下,但可能不是其他项目进行清理的情况 - 如果他们删除了打破一些测试的文件?)。
然后您已准备好采取更为激进的步骤重写所有Git历史记录 - 您可以运行BFG,而您只需处理共享此更新历史记录的问题 - 您不必通过删除这些文件来解决突然破坏项目的问题,因为 您已经提前检查过(并修复过)该问题。
作为BFG的作者,我不想通过运行BFG来意外破坏项目构建的用户提出支持问题 - 更好的是用户在进入运行步骤之前打破并修复他们的项目BFG!因此,BFG不会删除最新提交中的任何文件 - 您需要手动确保文件树的当前版本清除这些不需要的文件。
完全披露:我是BFG Repo-Cleaner的作者。