代码之家  ›  专栏  ›  技术社区  ›  Hamza Yerlikaya

使用git在历史上保留一定数量的提交

git
  •  6
  • Hamza Yerlikaya  · 技术社区  · 16 年前

    我有一个存储库,里面有很多大的二进制文件。是否可能将git设置为只保留最后n个提交数?例如,我只想在此存储库历史记录中保留文件的最后5个副本?但我很想不手动每5次提交一次?

    4 回复  |  直到 16 年前
        1
  •  3
  •   Greg McGary    16 年前

    使用“git-rebase--interactive”。将前五个提交标记为“pick”,其余的标记为“squash”。

        2
  •  4
  •   Dustin    16 年前

    唯一的方法是定期重写存储库。

    提交包含提交元数据、提交信息、提交的父级和要提交的树的哈希。在不影响现在的情况下改变过去的事情是不可能的。

        3
  •  3
  •   Community Mohan Dere    9 年前

    正如达斯汀所提到的,做到这一点的唯一方法是定期重写存储库。Git肯定没有对此的“内置”支持,也不太可能很快就有这样的支持(事物的基本设计类型排除了这个特性)。这意味着,如果你想这样做,你必须手动操作。

    如果你想试一试,答案是 this question 演示了如何使用 git filter-branch .

        4
  •  2
  •   Jim Mitchener    16 年前

    金雀花 git clone --depth N 将允许您对存储库进行“浅克隆”。但是,您不能从中推/克隆/获取,因此作为开发人员它不是很有用。