假设我有一棵树,例如
0 - A - 1 - E1 - 2 - B - E2 - 3 - ..
\
c - 4 - ..
我想修剪一个范围内的空提交A..B并最终得到:
0 - A - 1 - 2` - B` - E2` - 3` - ..
\
c` - 4` - ..
跑步
git filter-repo --prune-empty always --refs A..B
结果没有变化,大概是因为 B.. 没有被重写。
跑步
git filter-repo --prune-empty always --refs A..B --replaces-refs update-or-add && \
git filter-repo --prune-empty auto
似乎产生了预期的结果。问题是,我对replace-refs 知之甚少。我想知道这是否是解决这个问题的正确方法。
我应该补充一点,我不是在改写公共历史。出于所有意图和目的,历史记录仅在本地存储库中。