gitlab 怎么定时自动 merge 分支?

2020-10-16 10:54:24 +08:00
 css3
开发在个人分支,master 因提交频繁,从个人分支 merge 到 master 时,每次都要手动先从 master merge 最新的代码到个人分支,再合入 master,
如何做到间隔几分钟自动从 master merge 到个人分支?
4091 次点击
所在节点    程序员
19 条回复
jiaxin1121
2020-10-16 11:00:28 +08:00
代码冲突了怎么办
mikicomo
2020-10-16 11:01:17 +08:00
你自己的分支合并到 master 时,为啥非要同步一次 master 的修改? 冲突很多?多人同时修改一个文件么
Molita
2020-10-16 11:03:12 +08:00
xurunfei
2020-10-16 11:03:23 +08:00
如果只有自己开发没事,有别人不能这么干,冲突就麻烦了,可以自己写个定时器提交代码,我的笔记就是写了个定时器,每天提交代码
KuroNekoFan
2020-10-16 11:04:18 +08:00
gitlab 的话有 schedules
blindie
2020-10-16 11:05:34 +08:00
你这滥用 git 。不如自动 rebase remote master 。
tanghanyu
2020-10-16 11:07:59 +08:00
这种不可能自动的吧,经常都会有些冲突需要解决的
css3
2020-10-16 11:12:43 +08:00
@css3 @jiaxin1121 @mikicomo @Molita @xurunfei @KuroNekoFan @blindie @tanghanyu
我的理解,有冲突应该是 merge 失败的吧
css3
2020-10-16 11:14:06 +08:00
@Molita 这个是手动触发 merge,然后 pipline 过了自动合入,我想要全自动 merge 进去
css3
2020-10-16 11:16:20 +08:00
@mikicomo 因为我自己的分支落后 master 分支,所以要先 merge 同步更新自己的分支
no1xsyzy
2020-10-16 11:28:46 +08:00
没必要,真的合并前 merge 一下就成
另外,除非有 CI 不然不要随便自动 merge,就算按行正常合并了也可能有逻辑错误的。
ruanimal
2020-10-16 11:30:16 +08:00
@css3 有可能 merge 是吧就没法全自动啊
mikicomo
2020-10-16 11:47:00 +08:00
@css3 #10 你这样的工作流有一个弊端,你自己的 develop 分支会实时同步 master 。同步到别人的修改,如果涉及到多迭代,多需求情况下,每个需求上线时间点不一样,你这样的流程操作会有问题的。

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

你这样的情况,如果团队都是这样处理的话,建议还是手动 merge,没必要自动 merge
chinvo
2020-10-16 12:48:24 +08:00
从 feature 分支合并到 master 之前不需要从 master 合并到 feature
msg7086
2020-10-16 13:07:53 +08:00
分支落后于主线应该 rebase 而不是 merge 。merge 完了以后你的分支也包含了其他分支的内容,便没法单独隔离或移植到其他主线分支了。
littlewing
2020-10-16 14:15:41 +08:00
更好的做法不是把 master merge 到个人分支,而是个人分支 rebase 到 master HEAD,这样最后的 commit 记录会比较干净,不然你看到就是 merge 来 merge 去的一大堆无用的 log
Maxcj
2020-10-16 16:45:38 +08:00
@chinvo 他有可能是个人分支里面写的代码需要依赖另外一个人的代码。
chinvo
2020-10-16 16:46:38 +08:00
@Maxcj 那就说明工作流程不规范,这种情况应该从他依赖的工作分支上 fork 而不是从 master 上
sd539994389
2020-10-17 10:59:21 +08:00
我之前的做法是基于 CI 定时,或者 python 用 gitlab 的库跑,冲突会停止汇总邮件发出

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/715522

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX