我一直在从事一个最近从 Subversion 迁移到 Git 的项目。git-svn
在迁移之前,我一直致力于 Subversion 存储库。迁移之后,我注意到相当多的历史记录已经丢失,因为我从主题分支中的每个合并提交都被压缩(通过git-svn
桥接或由于迁移),丢失了一些我想保留的提交消息。是否可以使用我的迁移前存储库的本地副本来取消迁移后存储库中的合并提交,也许是通过诸如樱桃采摘之类的方法?
问问题
240 次
1 回答
1
您可以使用 git 嫁接来增加压扁的提交,而另一个父级指向合并的真实提交。一旦为所有压扁的提交添加了嫁接,您可以通过重写 git 历史记录来永久合并它们git filter-branch
这个 SO 答案提供了有关如何执行此操作的详细信息:Setting git parent pointer to a different parent
于 2013-12-29T03:09:05.540 回答