如何重写Git历史记录以撤消压缩的合并提交?

时间:2013-12-29 02:24:02

标签: git svn merge git-svn git-rewrite-history

我一直在研究最近从Subversion迁移到Git的项目。在迁移之前,我一直在通过git-svn提交Subversion repo。在迁移之后,我注意到已经丢失了相当多的历史记录,因为我从主题分支的每个合并提交都被压扁了(通过git-svn桥,或者由于迁移),丢失了一些提交消息我想保留。是否可以使用迁移前仓库的本地副本来解除迁移后回购中的合并提交,可能是通过挑选樱桃来实现的?

1 个答案:

答案 0 :(得分:1)

您可以使用git graft来增加压缩提交,另一个父级指向已合并的实际提交。一旦为所有压缩的提交添加了移植,您可以通过使用{重写git历史记录来永久合并它们。 {1}}

此SO答案提供了有关如何执行此操作的详细信息:Setting git parent pointer to a different parent