Subgit:避免将git分支同步到svn上

 永远的菜鸟 发布于 2023-01-18 12:42

我正在尝试使用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

1 个回答
  • 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/*分支来跟踪具有长名称的分支从一个或另一个命名空间.这就是为什么我认为这对你来说是一个很好的解决方案.

    2023-01-18 12:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有