我有一个超过1000次提交的git存储库。 2岁了。我只想保留最近三个月的数据,我想在2020年2月1日之前删除所有提交。我尝试了removing old history from a git repository,但它只是从本地计算机上远程删除了较旧的提交。另外,它正在使用HEAD〜n删除最后n次提交,而不是在提交日期之前。
首先,删除您的历史记录可能不是一个好主意。我想不出任何理由-除了可能的初始克隆时间,Git可以很好地处理非常大的存储库。
但是,过去我有理由做别人无法想到的事情来做,我会把这作为您的判断电话。
此博客文章详细介绍了一种相当简单的方法来完成您要问的事情:https://passingcuriosity.com/2017/truncating-git-history/
总而言之(不想乱码),该方法是签出一个新的“孤立”分支(没有父提交),该分支指定了要保留的最旧提交的哈希值。提交,然后在其上重新建立master分支。
免责声明:我不知道存在于“保留”范围内的分支和标签将如何处理。这是一个潜在的破坏性操作,因此请轻踩一下,然后单击BACKUP。