Git 管理项目的时候,如何做到功能区分?

2019-11-01 17:35:42 +08:00
 coolair
目前做法是:
代码仓库 master 为基础功能
开了个分支 branch_a 在 master 的基础上加上了功能 a
开了个分支 branch_b 在 master 的基础上加了功能 b
开了个分支 branch_c 的基础上加了功能 c

比如现在想要 a、b 功能的产品,那就新增一个分支 d 合并 a 和 b,导出代码,然后删除分支 d。
想要功能 b、c 的产品,也同理。

这种操作有个问题就是,如果 master 基础功能有问题,我得在 master 上改了以后分别合并到 a、b、c 上去,很麻烦。

我这样操作对吗?

或者我还有另一个想法,就是把所用功能都做在一个分支里,然后加一个系统配置项,可以关闭这些功能。不过这样的话就给客户的都是同一个东西,就体现不了差异性了。
987 次点击
所在节点    问与答
4 条回复
loading
2019-11-01 17:38:18 +08:00
git 是代码管理,不是 app 功能管理。
还不如在代码里做编译开关。
youkiZ
2019-11-01 17:47:31 +08:00
@loading 功能之间不一定兼容的,可能要大改,没法用编译开关的
youkiZ
2019-11-01 17:48:02 +08:00
目前我们就是这样做的。虽然麻烦一点,但是很明确。
msg7086
2019-11-02 00:57:37 +08:00
master 改了不一定要 merge 过去,也可以让 feature 来 rebase master。其他的没有太好的办法。

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

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

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

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

© 2021 V2EX