如何在特定提交日期之前删除git存储库中的所有提交?

问题描述 投票:0回答:1

我有一个超过1000次提交的git存储库。 2岁了。我只想保留最近三个月的数据,我想在2020年2月1日之前删除所有提交。我尝试了removing old history from a git repository,但它只是从本地计算机上远程删除了较旧的提交。另外,它正在使用HEAD〜n删除最后n次提交,而不是在提交日期之前。

git repository git-commit
1个回答
0
投票

首先,删除您的历史记录可能不是一个好主意。我想不出任何理由-除了可能的初始克隆时间,Git可以很好地处理非常大的存储库。

但是,过去我有理由做别人无法想到的事情来做,我会把这作为您的判断电话。

此博客文章详细介绍了一种相当简单的方法来完成您要问的事情:https://passingcuriosity.com/2017/truncating-git-history/

总而言之(不想乱码),该方法是签出一个新的“孤立”分支(没有父提交),该分支指定了要保留的最旧提交的哈希值。提交,然后在其上重新建立master分支。

免责声明:我不知道存在于“保留”范围内的分支和标签将如何处理。这是一个潜在的破坏性操作,因此请轻踩一下,然后单击BACKUP。

© www.soinside.com 2019 - 2024. All rights reserved.