The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
wencan

fork 一个项目,两边并行提交,不定期 merge,怎么解决包名冲突的问题?

  •  1
     
  •   wencan · Sep 30, 2022 · 3022 views
    This topic created in 1346 days ago, the information mentioned may be changed or developed.
    比如
    张三有一个 Go 项目,包名为 git.com/zhangsan/pkg
    李四 fork 了一份,包名改为 git.com/lisi/pkg
    然后张三的修改提交到 git.com/zhangsan/pkg ,李四的修改提交到 git.com/lisi/pkg 。两边不定期把对方的 branch/commit 合并到自己的项目。怎么解决 merge 时的包名冲突问题?每次 merge 时挨个解决冲突吗?
    实际场景中,可能是 fork 一个开源项目到公司 group 下。
    9 replies    2022-10-10 20:50:31 +08:00
    lookStupiToForce
        1
    lookStupiToForce  
       Sep 30, 2022
    这个总得根据文档提前商定的吧,包括命名规则规范之类
    这还只是包名冲突,如果函数内容在运行时才发现冲突,你们还打算把这本可以提前商定或者提交时 review 到就解决的东西,延到运行时发现冲突了才解决?
    hopingtop
        2
    hopingtop  
       Sep 30, 2022
    蹲一个好的解决方案
    hopingtop
        3
    hopingtop  
       Sep 30, 2022
    @#2
    hopingtop
        4
    hopingtop  
       Sep 30, 2022
    @hopingtop 两边不定期把对方的 branch/commit 合并到自己的项目。怎么解决 merge 时的包名冲突问题?这个需求采用直接分支 merge 的方法好吗?正常流程是不是走 pull request 好点?
    rb6221
        5
    rb6221  
       Sep 30, 2022
    import 用相对包名呗。然后包名前缀不同的部分放在一个单独的配置文件里 对这个文件做 gitignore
    lysS
        6
    lysS  
       Sep 30, 2022
    怎么有两个并行的主分支,而且还需要在之间同步?是单向同步吗?
    stackexplode
        7
    stackexplode  
       Sep 30, 2022
    定义一个主干
    wusu
        8
    wusu  
       Oct 10, 2022
    在原项目的目录下开发,把 remote 改成自己的项目 url ;定义 go module ,与项目路径无关
    wencan
        9
    wencan  
    OP
       Oct 10, 2022
    @wusu 重点是代码里的包名
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2905 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 06:23 · PVG 14:23 · LAX 23:23 · JFK 02:23
    ♥ Do have faith in what you're doing.