2010-09-30 138 views
1

我一直在使用git-svn快乐地工作,为任何分支工作,重新分配和分配到主干,然后决定我们将开始工作的权力分支而不是主干。我的问题是,我如何获得由主跟踪中继来分支/合并到现在正在跟踪新分支的新本地分支的分支?在切换svn远程分支机构时维护git本地分支机构

要尝试来说明吧,这里是我的设置开关之前(支/回购名称更改为保护无辜者):

Git  ->  svn 
master  ->  trunk 
|-feature1 
|-feature2 

现在,这是我的设置

Git  ->  svn 
master  ->  trunk 
|-feature1 
|-feature2 
newDev  ->  branches/working 

问题是,我在那些想要进入svn分支“工作”的功能分支中工作。什么是最好的方式来做到这一点?

回答

1

我几个月前回想起了git svn branch命令。你可以使用它在你的svn远程中创建新的分支,然后根据这个分支工作一个本地的git分支。从这些地方分支到正确的svn分支承诺也有效。

如果你已经有了合适的本地分支,并且想把它放到一个不存在的svn分支中,你也可以使用git svn branch。使用它创建一个基于主干的新的svn分支,将其拖到你的git仓库中,然后根据你的主人在它之上重新绑定你的本地git分支。

你最终会得到的是一个本地git分支,其中包含所有更改,其中包含指向刚创建的分支的git-svn-id。当从那里提交时,你的改变也会在远端的svn分支中结束。

如果有疑问,总会有git svn dcommit -n,它会告诉你确切地说git-svn将提交到哪里。