【发布时间】:2013-04-11 06:48:16
【问题描述】:
我已经阅读了很多关于git-svn 和合并的 SO 问题和博客。其中一些(尤其是git-svn 手册页)警告反对在我计划从dcommit 的分支附近使用合并。
其他人,如SO answer,表示只要我使用在dcommitting 之前删除的一次性 功能分支,合并就可以了。
我有两个长期存在的 SVN(和 git)分支:
-
trunk (git-svn:
svn/trunk, git:master) - 稳定分支 -
branches/devel (git-svn:
svn/devel, git:devel) - 我从中分叉功能分支的主要开发分支(我可以忍受将它们重新定位回devel而不是合并)。
在上图中,(1) 显示了过去的 SVN 历史,其中branches/devel 已合并到trunk。
(2) 表明我已经成功dcommitted 我目前的开发回到了 SVN。
问题:我可以使用git-svn 来合并两个SVN 分支,以便历史记录显示合并点(就像SVN 本身一样)?换句话说:如果我从master 到dcommit 会发生什么,如(3) 所示?
这会弄乱我的 SVN(或 git)历史吗?或者这会完全忘记devel 被合并到master 吗?
编辑:如果git 只是忘记了devel 被合并到master 中,那么dcommiting 从点(3) 和将所有提交应用为单个 patch?
【问题讨论】: