【问题标题】:Remove git history for distributing project for bug report?删除 git 历史记录以分发错误报告的项目?
【发布时间】:2013-05-20 16:16:56
【问题描述】:

我的 iOS 应用有一个奇怪的核心数据错误,我联系了 Apple 的开发人员技术支持寻求帮助。他们要求我提交一份有问题的代码的副本,这样他们就可以确切地看到发生了什么并帮助我找出问题,但正如人们所期望的那样,我不想给他们我所有的代码,不仅仅是因为它是专有的,但也因为我希望他们能够识别有问题的代码艺术。

所以我已经删除了 95% 的代码,以便应用程序仍然可以构建和加载,并且可以证明问题。我想为他们提供一个 git 存储库,以便查看我的代码的开发人员可以看到我所做的更改是如何产生错误的。

但是,我不想将整个 git 存储库原样发送给他们,因为历史将允许他们及时返回,并撤消我所做的所有删除工作。什么是“修剪”我的 git 存储库副本的正确方法,以便特定提交将成为新提交树的根?

【问题讨论】:

  • 您为什么觉得有必要提供任何历史记录?如果您有一个演示错误的最小程序,那么您已经为他们提供了诊断问题所需的一切。

标签: ios xcode git commit bug-reporting


【解决方案1】:

您可以使用 git filter-branch 删除给定的文件。

请看这里: https://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html

具体来说,你可以使用下面的例子来删除一个名为 filename 的文件:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename' HEAD

【讨论】:

    猜你喜欢
    • 2023-01-30
    • 1970-01-01
    • 2017-06-16
    • 2016-02-24
    • 2014-10-25
    • 1970-01-01
    • 2013-07-13
    • 2023-02-09
    • 2014-06-19
    相关资源
    最近更新 更多