我正在尝试使用SubGit但是我遇到了分支的问题:我希望在Git下创建的分支只能在Git中生存和死亡.我发现了这个:SubGit:如何排除分支?,但它说
麻烦来自合并提交:如果提交A是将分支foo合并到主服务器的结果,则SubGit在Subversion端为commit A的相应父服务创建分支/ foo.如果您不希望SubGit生成的分支包含在branches/*namespace中,请考虑在Subversion端使用一些特殊的分支
我不想搞乱SVN,因为我正在评估Subgit,我不想在SVN上做任何改变.我想我可以在推送到Git存储库之前通过重新定位来实现我的目标(意思是,仅提交SVN合并历史而不是git分支),但我担心这会在返回SVN时导致冲突.关于我如何解决这个问题的任何想法,而不是等待SubGit 2.1版(声称做我想要的但不是在不久的将来 - 来自链接的答案:)it's going to take some time before we implement it
?
SubGit仅同步您在SubGit配置文件中指定的分支.默认情况下,它们是:
trunk = trunk:refs/heads/master branches = branches/*:refs/heads/* shelves = shelves/*:refs/shelves/* tags = tags/*:refs/tags/*
因此,如果您使用另一个命名空间,例如refs/heads/nosync/*,则其中的分支将不会同步.
或者您可以将refs/heads/*用于普通分支(不同步)并设置特殊的refs/heads/sync/*命名空间以进行同步:
trunk = trunk:refs/heads/sync/master branches = branches/*:refs/heads/sync/* shelves = shelves/*:refs/shelves/* tags = tags/*:refs/tags/sync/*
请注意,长分支名称(如refs/heads/sync/master)不会带来不便,因为在克隆此类Git存储库后,您可以使用短名称分配自己的本地refs/heads/*分支来跟踪具有长名称的分支从一个或另一个命名空间.这就是为什么我认为这对你来说是一个很好的解决方案.