如何在选定点之前删除 git 历史记录

Posted

技术标签:

【中文标题】如何在选定点之前删除 git 历史记录【英文标题】:How do I remove git history before a chosen point 【发布时间】:2013-11-13 12:09:27 【问题描述】:

我有一个可以追溯到 2.5 年前的 Xcode 项目。一年前我发布了一个版本,并进行了一些更改,基本上是采用 ARC。该项目的 git“历史”可以追溯到 2 年前。我最近在发布前删除了分支并做了一个git prune(在 git 命令行),这减少了存储的对象数量,但我仍然有 2011 年的历史。 上一版本之前的任何内容都没有意义(使用 GC),我想完全删除它。 过去我对 git 有过不愉快的经历,坦率地说,我发现文档令人困惑,所以我不愿意尝试任何我不太了解的东西。 我想在给定提交(之前的版本)之前删除所有内容,但保留最近更改的详细信息。

【问题讨论】:

【参考方案1】:

我认为,这个答案解决了你的问题:https://***.com/a/598788/119725

实际上,您要做的是将前 N 次提交(最初直到该版本之前的最后一次提交)组合成一个新的单个初始提交。

我当然会建议在您的存储库的新克隆上执行所有这些魔法,这样您就可以(轻松地)返回,以防出现任何问题。

【讨论】:

以上是关于如何在选定点之前删除 git 历史记录的主要内容,如果未能解决你的问题,请参考以下文章

git删除所有提交历史记录

如何删除 Git 仓库中的历史提交记录

如何从 Git 历史记录中永久删除提交?

如何删除旧的 git 历史记录?

从GIT历史记录中删除文件

git删除所有历史提交记录