合并不相关的分支分支从 SVN 到 Git 转换

Posted

技术标签:

【中文标题】合并不相关的分支分支从 SVN 到 Git 转换【英文标题】:Merge unrelated branches branches from SVN to Git conversion 【发布时间】:2021-11-04 22:26:29 【问题描述】:

我将一个项目从 SVN 转换为 Git。这个项目有几个分支,我认为它们只是复制到 /branches 中。现在这与与主分支没有连接的分离分支有关。

在图表中看起来像这样

                             HEAD
Master    o--------------o----o

Branch A       o----o

有没有可能让我实现Master与分离分支的连接?

                             HEAD
Master    o--------------o----o
           \
Branch A    o----o

【问题讨论】:

【参考方案1】:

一种选择是将 A 重新设置为 master(假设您希望 branch A 源自 master,而不是在 master合并:从您的图表在哪里是主 HEAD,最近的提交) 请参阅如何在不相关的分支上重新应用提交?

git rebase A1 A2 --onto M --committer-date-is-author-date

与:

A1:来自branch A 的最旧提交 A2:当前 A HEAD(最近一次提交) M:您希望从 master 创建 A 的旧提交

【讨论】:

感谢您的回答,我已经用 HEAD 更新了我的问题 @MarcSchaetz 好的。答案保持不变。如果您在应用时遇到任何问题,请告诉我。 在您的代码 sn-p 中有两次提到 A1。其中一个应该是A2吗? @MarcSchaetz 确实,我已经相应地编辑了答案。

以上是关于合并不相关的分支分支从 SVN 到 Git 转换的主要内容,如果未能解决你的问题,请参考以下文章

SVN分支的合并和同步

SVN分支的合并和同步

从SVN历史列出作者,包括已删除(未合并)的分支

SVN 分支合并 版本控制

SVN分支/合并原理及最佳实践

SVN分支/合并原理及最佳实践