因为数据工程经常需要迅速、改动小的变动,所以我们没有 tag 和 release branch 。每次做开发的流程都是这样:
[ol]
[/ol]
目前我们很少有冲突,这点还蛮好的,因为项目划分的还可以,极少碰到两个人修改一个文件的问题。但是很难解决preprd和main同步的问题,所以经常出现不知道为什么preprd merge 到 main的时候,会把很早的 commit 也合并进去的问题。当然这并不是致命的问题,所以团队很久都没有解决,我也是最近加入才发现这个问题的。我猜测是因为有些同事直接把 feature 分支 merge 到 main 导致的,但是我也不是 git 专家,所以也不确定。另外我们从来不用 rebase ,只能用 merge ,我觉得也不是很好,但是说不出来为什么不好。
最近我们加了一步,就是 2 和 3 之间让main 反向 merge 到 preprd。这似乎解决了问题,但是我又觉得十分的丑陋。不知道大家有没有什么好的设计方案?或者说,我究竟应该怎么排查问题?我翻了下 gitbook ,感觉里头介绍的十分详尽,反而搞不清楚应该如何排查了。
多谢!