将很久以前合并的 PR 的 git 历史记录从 commit 方法更改为 squash 方法

Change git history of PR merged long time ago from commit method to squash method

提问人:Nebula 提问时间:10/13/2023 更新时间:10/13/2023 访问量:30

问:

社区大家好!

正如您在图中看到的,有一个提交 (cm1),其中包含许多在本地分支中提交的二进制文件。 此提交在 cm2 处恢复,在最终提交 (cm4) 时,创建了一个 Pull Request 并与 6 个月前的 commit 方法合并。这意味着 master 分支将包含此开发分支的历史记录。

这样做的结果是由于此提交而无法克隆存储库,因此我必须重写历史记录。

我已经尝试了上述命令,但不知何故它会进行更改,例如删除或保留下一个 PR。这就像搞砸了提交。

git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch make/*' <hash_cm1>..HEAD

我想到的另一个想法,在这里我希望你的贡献,是如果我可以改变这个合并的历史记录,并从合并提交方法将其转换为合并南瓜方法。这意味着压缩 cm1,cm2,cm3,cm4 以摆脱 cm1 中二进制文件的存在,并为此 PR 进行一次提交。

先谢谢你!

git

二进制文件 git-history-rewrite

评论

0赞 eftshift0 10/13/2023
我认为您应该看看这些天推荐的工具。github.com/newren/git-filter-repogit filter-repo

答: 暂无答案