版本控制系统的合并操作,会引入新 bug 吗?

2020-03-17 12:29:47 +08:00
 ybw

比如前年你拉了一个分支,提交了一堆东西。

今年想起来把他合并了,这个过程会不会引入新 bug ?

会的话,几率有多大。

3089 次点击
所在节点    git
26 条回复
ybw
2020-03-17 17:40:46 +08:00
@BUPTGuo merge 会自动合并代码
zunceng
2020-03-17 17:50:31 +08:00
当然会了 要不干嘛要人来操作!!!
yeze322
2020-03-17 17:57:32 +08:00
你这种情况确定一定会有 bug。前年的分支竟然还可以和 master 合并,无非两种情况:
1. 模块边界特别清晰,接口两年时间保持不变,两个分支可以正交。那不会 bug (基本不可能)
2. 强行 merge,只解决文件表层的冲突 => 后患无穷
msg7086
2020-03-18 09:21:42 +08:00
前年你拉了个分支,今年你合并,如果前年到今年别人没有提交的话,合并当然没问题。
只要别人有任何一丁点的提交,你的合并都可能引入新问题。
这甚至和是否冲突都没关系。

所以废弃分支重新启用的时候,一来必须 Rebase,二来必须手动测试,通过了才能合并。
SoloCompany
2020-03-18 11:45:10 +08:00
按级别从低到高, 越往后越糟糕因为发现难度再增加
首先, merge 可能发生 conflict
其次, auto merge 成功可能发生 build fail (任何一端引入了 compile uncompatible changes, 比如, 参数个数 /类型改变)
再次, build 成功, 运行时暴露问题 (任何一段引入了 runtime breaking change, 方法签名完全一样但参数的含义被改变)

不要过于相信工具, 工具自动化只是协助你做事情, 而不能替代所有工作, 即使写了大量 UT 都不一定能防止这些事情的发生, 但有 UT 肯定要比没有好
jixiangqd
2020-03-18 12:19:04 +08:00
工具懂你的业务么?也许未来 AI 版本控制可以做到?:#

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

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

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

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

© 2021 V2EX