我已经浏览了网页,发现了很多关于使用git-svn和分支机构的事情,但没有任何适合我的情况。
我正在开展一个大项目,我整个星期都在几个分支机构工作。处理git分支的标准方法在这里对我不起作用......仅仅因为涉及的代码的大小。从头开始编译需要大约一个小时,所以我不能以这种方式在分支之间来回切换。我想使用git-svn,所以我可以使用本地分支。 svn分支也可以被认为是单独的项目,在某些地方使用通用代码。
我希望能够做的就是使用git-svn将更改从一个svn repo合并到另一个svn repo,但我还没有找到一种方法从google或git-svn文档中进行。我在svn中通过维护一个单独的svn checkout来处理它,它是每个分支的自己的目录,只需使用merge命令来提取更改。我希望能够使用git-svn做类似的事情,但我还没有找到从另一个svn分支中提取更改的方法。有没有办法做到这一点?
答案 0 :(得分:2)
您可以使用类似于Mercurial的方法:每个存储库一个分支。
每个SVN分支都将通过git-svn存在于git存储库中(专门用于导入/导出一个分支)。
在Git存储库之间,您可以跟踪另一个git repo(又名另一个SVNbranch)的分支,将其获取到给定的git仓库(另一个SVNbranch)并将其合并到当前的主分支,然后git-svn dcommit
该分支回到相关的svn分支。
答案 1 :(得分:0)
您可以拥有git-svn repo的本地共享克隆。但是,您必须单独更新两者。更好的方法是使用git-new-workdir,它将为您创建一个新的工作目录,具有单独的索引,但共享仓库。因此,如果您在原始仓库中更新/获取新提交,那么它们也将在另一个工作目录中可见。因此,您可以为每个分支使用单独的工作目录。