我一直在使用git-svn,一直在愉快地工作,无论分支是什么,从主干重新建立基础并提交到主干,然后决定我们将从分支开始工作,而不是主干。我的问题是,如何让从跟踪主干的主分支派生的分支重新基址/合并到现在正在跟踪新分支的新本地分支?
为了说明这一点,这里是我在切换之前的设置(为了保护无辜,更改了分支/存储库名称):
Git -> svn
master -> trunk
|-feature1
|-feature2现在,这是我的设置
Git -> svn
master -> trunk
|-feature1
|-feature2
newDev -> branches/working问题是,我在那些特性分支中有工作,我想进入svn分支“工作”。做到这一点的最好方法是什么?
发布于 2010-10-01 06:20:15
几个月前,我实现了git svn branch命令。您可以使用它在svn remote中创建新的分支,然后在此基础上创建一个本地git分支。从这些本地分支提交到正确的svn分支也是可行的。
如果您已经有了正确的本地分支,并且想把它放到一个还不存在的svn分支中,那么您也可以使用git svn branch。使用它创建一个新的基于主干的remove svn分支,将其放入您的git存储库,然后基于您的主分支重新建立本地git分支的基础。
您最终将得到一个本地git分支,其中包含位于提交顶部的所有更改,并带有一个指向您刚刚创建的分支的git-svn-id。当从那里提交时,您的更改也将在远程端的svn分支中结束。
如果有疑问,总会有git svn dcommit -n,它会告诉你git-svn的确切目标。
https://stackoverflow.com/questions/3834816
复制相似问题