【发布时间】:2018-08-10 14:18:08
【问题描述】:
根据我们的最新需求对存储库进行了大量的 rebase 之后,我们的 reflog 充满了提交和孤立分支。我们达到了重组的最终状态。
虽然存在带有大量二进制数据的分支和提交,但存储库增长了其原始大小的数倍,我们决定清除所有旧的 reflog 条目和数据。
我一直在研究手册,但在尝试git-reflog expire 时并没有变得更聪明
这是一个日志示例(缩短)
-> <sha1> [development] ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
-> <sha1> [master] ...
-> <sha1-old> ...
| <sha1-old> ...
| <sha1-old> ...
| <sha1-old> ...
| <sha1-old> ...
| <sha1-old> ...
| <sha1-old> ...
| <sha1-old> ...
-> <sha1-old> ...
正如您在主分支下方看到的,旧的提交/分支在 rebase 之前说明了存储库。
我们希望清除 reflog 以使存储库看起来像
-> <sha1> [development] ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
| <sha1> ...
-> <sha1> [master] ...
为了我们希望减少存储库使用的磁盘空间。
我怎样才能做到这一点?
编辑(2019-03-02 12:20)
请不要提及删除并重新克隆存储库。这不是我要找的。p>
编辑(2019-03-02 12:30)
到目前为止我尝试了什么,但没有奏效
git reflog expire --expire=all
什么都没有发生,所以我试图变得聪明并调用了垃圾收集器
git gc --aggressive
但是假的。
【问题讨论】:
标签: git purge git-reflog