gpt4 book ai didi

git - BFG Repo Cleaner - 已删除的文件仍在提交更改中

转载 作者:行者123 更新时间:2023-12-05 07:24:32 24 4
gpt4 key购买 nike

我需要从我的网络应用程序和 git 历史记录中删除配置文件。我已经使用 bfg repo cleaner 工具完成了该操作。我完成了文档中概述的步骤:

  1. git clone --mirror url.git
  2. java -jar bfg-1.13.0.jar --delete-files "{App.config,Web.config}"repo-name.git
  3. git reflog expire --expire=now --all && git gc --prune=now --aggressive

我将结果推送到 gitlab 中的一个新存储库。这些文件已从历史记录中消失。我可以 check out 一个旧的提交,但文件不会下来。

但是当我查看涉及 Web.config 文件的提交详细信息时,更改部分显示了 Web.config 文件的差异。所以仍然可以看到配置文件的文本。

我在使用 bfg 工具时是否遗漏了什么?或者这是工具不会改变的东西?如何从提交更改摘要中删除文件?

最佳答案

BUT when I look at the details of commit involving Web.config file the changes section shows the diff of the Web.config file. So it is still possible to see the text of the configuration files.

不幸的是,在解释历史重写的过程中存在一些细微差别,而且上面的描述含糊不清——你在哪里看到的?您是在对本地存储库执行 diff 命令,还是在 GitLab 上查看 url? - 提供您正在调用的屏幕截图、URL 或示例 Git 命令将有助于此处的诊断。

我假设您正在查看这样的 url,其中提交 ID(例如 e081c0cba2dd5b1a19d22b44918022f72035434c)是 url 的一部分:

https://gitlab.com/gitlab-org/gitlab-ce/commit/e081c0cba2dd5b1a19d22b44918022f72035434c

这里要意识到的重要一点是,提交 ID 是该提交文件树内容的哈希值,以及导致该提交的整个提交历史记录。因此,如果您更改提交的历史记录,您将获得一个新的提交 ID。如果您查看旧的提交 ID - 您将看到旧的提交数据和旧的提交文件树。

什么时候会消失?

最终 GitLab 将在您的存储库上运行 git gc,并且该 url - 带有该提交 ID - 将不再可访问。您还可以要求 GitLab 支持运行 git gc:

关于git - BFG Repo Cleaner - 已删除的文件仍在提交更改中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55366996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com