【发布时间】:2021-09-17 22:58:34
【问题描述】:
我们有一个相当大的(1000 多个提交)存储库,其中包含 7 年的更改和 6 个发布版本(每个版本由一个 git 标签表示)。我们想折叠历史记录,以便在最后一个标签之前,两个标签之间的所有提交都折叠成一个提交,带有版本标签。从而将我们的存储库历史记录减少到大约 15 次提交。我们不会跨版本进行任何还原。
作为奖励,理想情况下,我们希望将所有提交我们崩溃的人保留为co-authored-by。如果它很重要,我们没有任何从标签之前跳过标签进入新版本的合并。
发件人:
CHEAD
C2
C3
...
TAG6
Cx
Cy
...
TAG5
Ca
..
进入
CHEAD
C2
C3
...
TAG6
TAG5
TAG4
TAG3
TAG2
TAG1
关于如何进行的任何想法?
【问题讨论】:
-
在您要按原样保存的第一个提交上从一个新分支开始 - 然后将每个标签合并到该分支上并强制移动标签。重复直到到达最后一个标签,然后在新分支上重播最后几次提交。删除旧分支并可选择将新分支重命名为与旧分支相同的名称。然后确保所有的克隆都是更新的,否则你可能会很难解决。
标签: git git-history git-history-rewrite