Git 使用与已删除分支相同的名称创建的合并分支
我们使用Subversion作为主要VCS。我使用Git作为方便的客户端。 现在我无法将功能分支正确地合并到发布分支中 最初的功能分支(feature)是从发布分支(Release1.0)创建的。 后来意识到Release1.0已经关闭,现在该功能应该基于Release2.0开发Git 使用与已删除分支相同的名称创建的合并分支,git,merge,branch,git-svn,Git,Merge,Branch,Git Svn,我们使用Subversion作为主要VCS。我使用Git作为方便的客户端。 现在我无法将功能分支正确地合并到发布分支中 最初的功能分支(feature)是从发布分支(Release1.0)创建的。 后来意识到Release1.0已经关闭,现在该功能应该基于Release2.0开发 没问题 git rebase --onto Release2.0 HEAD~30 有些人承诺与Release2.0版本中的代码演化相匹配 git rebase -i HEAD~14 在这一点上,我决定不将更改提交到
没问题
git rebase --onto Release2.0 HEAD~30
有些人承诺与Release2.0版本中的代码演化相匹配
git rebase -i HEAD~14
在这一点上,我决定不将更改提交到svn中,而是将所有开发历史记录保留在feature分支中,并与release分支合并(因为稍后我可能会将其放到另一个地方)
为了保持svn:mergeinfo的同步,我在svn中进行了实际的合并
svn merge -rxxx:yyy feature
git-svn fetch && git svn rebase
完成了吗?不未根据Git合并feature分支和Release2.0分支。发布分支刚刚得到一个额外的提交
问题是:尽管功能分支已被删除,并从另一个位置重新创建,但Git此时显示merge。因此,它拒绝显示合并操作(有一些提交未合并,但它们来自分支的已删除部分),因此在这种情况下创建功能分支时,我应该使用另一个名称以避免此类问题
好吧,我已经得到了教训,现在我知道如何在将来避免这种情况,但现在有可能解决这个问题,还是将来有可能以其他方式解决这个问题?
我已经尝试手动更改svn:mergeinfo,但它可以工作,但这意味着我需要将所有提交标记为在svn:mergeinfo中合并,直到分支点 这似乎证实了关于再基准的局限性,如其: 为了简单和与Subversion互操作,建议所有
git svn
用户clone
,fetch
和dcommit
直接从svn服务器,避免git存储库和分支之间的所有git clone/pull/merge/push
操作
您可以在SVN端重新创建合并信息,但Git不会在Git SVN fetch
&&Git SVN rebase
之后反映合并
默认情况下,gitsvn
不关心merginfo
但是,"提到,
自被询问以来,git svn
的当前状态发生了变化。具体来说,在git 1.7.5中,当
dcommitting
返回到svn时,对设置svn:mergeinfo
的支持有限
git svn dcommit
现在接受-mergeinfo=
标志
这似乎证实了关于再基准的局限性,如its中所示: 为了简单和与Subversion互操作,建议所有
git svn
用户clone
,fetch
和dcommit
直接从svn服务器,避免git存储库和分支之间的所有git clone/pull/merge/push
操作
您可以在SVN端重新创建合并信息,但Git不会在Git SVN fetch
&&Git SVN rebase
之后反映合并
默认情况下,gitsvn
不关心merginfo
但是,"提到,
自被询问以来,git svn
的当前状态发生了变化。具体来说,在git 1.7.5中,当
dcommitting
返回到svn时,对设置svn:mergeinfo
的支持有限
git svn dcommit
现在接受-mergeinfo=
标志
svn merge -rxxx:yyy feature
git-svn fetch && git svn rebase