首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >壁球历史

壁球历史
EN

Stack Overflow用户
提问于 2010-12-07 15:19:50
回答 1查看 1.2K关注 0票数 3

我有一个大型的,旧的git,有很多二进制文件托管在本地的Redmine服务器上。我想在一个特定的日期(6个月或12个月前)之前把所有的评论挤在一起,以节省一些关于我的回购的大小。

有办法这样做吗?

EN

回答 1

Stack Overflow用户

发布于 2010-12-07 16:03:14

当您更改任何历史记录时,更改后的所有提交都将具有新的SHA1和。如果只有您使用回购,或一组选定的人员,您可以很容易地与他们沟通,那么您可以安全地压缩或过滤(见下文)来清理历史记录,然后当他们获取时,他们将需要手动将他们的所有分支头重新设置为新的头。如果情况不是这样,那么你将不得不忍受它,不幸的是。一旦历史被发表,它就不会改变。

现在,您可以使用git重基删除提交。这是缓慢和痛苦的,但它可能会起作用。您还可以使用git过滤器分支来删除所有二进制文件。我不得不自己做回购,这是相当容易的。如果您的所有二进制文件都位于一个目录中,那么您可以使用git过滤器分支的--子目录标志(当然,请阅读帮助页)来删除该子目录中所有在给定范围内提交的所有内容。如果它们是分散的,那么您可以为git过滤器分支提供一个shell命令行,或者在每次提交时执行一个shell脚本,并且该脚本可以遍历并删除二进制文件和您希望删除或更改的其他任何内容。同样,请参阅帮助页。但我认为,在这种情况下,git过滤器分支绝对是可行的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4378249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档