• 请不要在回答技术问题时复制粘贴 AI 生成的内容
css3
V2EX  ›  程序员

gitlab 怎么定时自动 merge 分支?

  •  
  •   css3 · Oct 16, 2020 · 5151 views
    This topic created in 2044 days ago, the information mentioned may be changed or developed.
    开发在个人分支,master 因提交频繁,从个人分支 merge 到 master 时,每次都要手动先从 master merge 最新的代码到个人分支,再合入 master,
    如何做到间隔几分钟自动从 master merge 到个人分支?
    19 replies    2020-10-17 10:59:21 +08:00
    jiaxin1121
        1
    jiaxin1121  
       Oct 16, 2020
    代码冲突了怎么办
    mikicomo
        2
    mikicomo  
       Oct 16, 2020
    你自己的分支合并到 master 时,为啥非要同步一次 master 的修改? 冲突很多?多人同时修改一个文件么
    xurunfei
        4
    xurunfei  
       Oct 16, 2020
    如果只有自己开发没事,有别人不能这么干,冲突就麻烦了,可以自己写个定时器提交代码,我的笔记就是写了个定时器,每天提交代码
    KuroNekoFan
        5
    KuroNekoFan  
       Oct 16, 2020
    gitlab 的话有 schedules
    blindie
        6
    blindie  
       Oct 16, 2020 via Android
    你这滥用 git 。不如自动 rebase remote master 。
    tanghanyu
        7
    tanghanyu  
       Oct 16, 2020
    这种不可能自动的吧,经常都会有些冲突需要解决的
    css3
        8
    css3  
    OP
       Oct 16, 2020
    @css3 @jiaxin1121 @mikicomo @Molita @xurunfei @KuroNekoFan @blindie @tanghanyu
    我的理解,有冲突应该是 merge 失败的吧
    css3
        9
    css3  
    OP
       Oct 16, 2020
    @Molita 这个是手动触发 merge,然后 pipline 过了自动合入,我想要全自动 merge 进去
    css3
        10
    css3  
    OP
       Oct 16, 2020
    @mikicomo 因为我自己的分支落后 master 分支,所以要先 merge 同步更新自己的分支
    no1xsyzy
        11
    no1xsyzy  
       Oct 16, 2020
    没必要,真的合并前 merge 一下就成
    另外,除非有 CI 不然不要随便自动 merge,就算按行正常合并了也可能有逻辑错误的。
    ruanimal
        12
    ruanimal  
       Oct 16, 2020
    @css3 有可能 merge 是吧就没法全自动啊
    mikicomo
        13
    mikicomo  
       Oct 16, 2020
    @css3 #10 你这样的工作流有一个弊端,你自己的 develop 分支会实时同步 master 。同步到别人的修改,如果涉及到多迭代,多需求情况下,每个需求上线时间点不一样,你这样的流程操作会有问题的。

    从 master 切出 feature1 、feature2 、等分支分别开发不同的需求,并且开发期间,不去同步其他分支的代码。
    开发完了,合并到 develop 分支进行测试,测试完毕,如果本次迭代只发布 feature1,feature3,那么吧 feature1,feature3 合并到 release 分支,最后把 release 合并到 master

    你这样的情况,如果团队都是这样处理的话,建议还是手动 merge,没必要自动 merge
    chinvo
        14
    chinvo  
       Oct 16, 2020 via iPhone
    从 feature 分支合并到 master 之前不需要从 master 合并到 feature
    msg7086
        15
    msg7086  
       Oct 16, 2020 via Android
    分支落后于主线应该 rebase 而不是 merge 。merge 完了以后你的分支也包含了其他分支的内容,便没法单独隔离或移植到其他主线分支了。
    littlewing
        16
    littlewing  
       Oct 16, 2020 via iPhone
    更好的做法不是把 master merge 到个人分支,而是个人分支 rebase 到 master HEAD,这样最后的 commit 记录会比较干净,不然你看到就是 merge 来 merge 去的一大堆无用的 log
    Maxcj
        17
    Maxcj  
       Oct 16, 2020
    @chinvo 他有可能是个人分支里面写的代码需要依赖另外一个人的代码。
    chinvo
        18
    chinvo  
       Oct 16, 2020 via iPhone
    @Maxcj 那就说明工作流程不规范,这种情况应该从他依赖的工作分支上 fork 而不是从 master 上
    sd539994389
        19
    sd539994389  
       Oct 17, 2020
    我之前的做法是基于 CI 定时,或者 python 用 gitlab 的库跑,冲突会停止汇总邮件发出
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2762 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 01:27 · PVG 09:27 · LAX 18:27 · JFK 21:27
    ♥ Do have faith in what you're doing.