请教一个 git 分支管理的问题。

2019-08-08 09:40:31 +08:00
 firhome
生产环境--> master

测试环境--> test


现在我们每次开发都是从 test 上 拉分支 branch-a, branch-b, branch-c .....

开发完毕以后 合到 test 分支 一次迭代可能有多个 branch。

[然后测试若有 bug 就直接在 test 环境更改了]

测试完毕 test 合进 master。

现在的问题是,已经合进 test,突然某个 branch 在 test 环境测试不通过,或者不上线。 请问这个时候怎么办呢?

比如:branch-a , branch-b ,branch-c 依次合进 test, 其中 branch-b 暂时不要了。


另外,合进 test 的分支若要改 bug,应该还是在原来分支改,改完再合进 test,应该是这样才对吧?
3159 次点击
所在节点    程序员
24 条回复
msg7086
2019-08-09 10:49:34 +08:00
(说句实话,我觉得有些东西真的没办法只靠文字表述,最好是面对面教……这是我教人 Git 到现在最大的感受了。)
firhome
2019-08-09 11:30:09 +08:00
@ferock 非常感谢回复,你说的我理解了。但是还有两个问题需要帮忙解答一下。

1. 合到 develop 分支后,出行 bug 是在哪个分支呢?直接 develop 分支 还是 feature 分支,又或者 拉个 release 出来改?

2. 因为测试域名对应了 develop 分支的内容,那拉出来的 release 分支做回归测试的话,是不是还得部署一个该 release 分支的域名来让测试测?(因为测试同学机器上没有安装开发环境)
ferock
2019-08-09 13:02:39 +08:00
@firhome #22

1. 按照 git-flow 流程 hotfix 是从 master 拉取的。完成发布后合并到 develop 和 master 内。

解释一下版本号
x.y.z

x = 大版本号,上一版本和下一版本并不兼容
y = 小版本号,上一版本和下一版本理应考虑兼容
z = hotfix 号,解决各种 bug 问题。


2. 按照你说的情况,是的!但按照 git-flow 规范,某个时间只应存在一个 release 版本。
比如当前是 1.1 的 release,你还在测 1.2 的 release ?毫无意义啊。


但还是那句话,国内公司基本没法按照这个流程来。
simonlu9
2020-12-16 09:44:27 +08:00
@firhome 我也遇到这个问题,想问下最后是怎么解决的。

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

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

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

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

© 2021 V2EX