git 管理代码,如果有 100 个功能,开了 100 个分支,某个功能开发完毕,可预见的时间内不会修改,这个分支该删除吗

2017-03-24 10:41:30 +08:00
 qweweretrt515

git 管理代码,如果有 100 个功能,开了 100 个分支, 那么 这么多的分支管理起来可能麻烦,可能有些乱

那么,为了保持不乱,

某个功能开发完毕,可预见的时间内不会修改,这个分支该删除吗

2514 次点击
所在节点    问与答
13 条回复
wtser
2017-03-24 10:48:37 +08:00
等到你需要开发某个功能的时候再开某分支,而不是一开始就开 100 个。
做完一个功能,就把分支合并到主干,然后删除这个分支。
若将来要修改,则到时候再另外开分支。
andyhuzhill
2017-03-24 10:55:01 +08:00
既然功能已经开发完毕了 不是就应该合并到主线分支去了么? 合并之后就可以删除啦
SpicyCat
2017-03-24 10:57:14 +08:00
分支就不是这么用的。一般开发使用 git 的话,还要搭配使用个 issue tracking system. 如果使用的是 Gitlab 或者 Github, 那么自带了 issue tracking system. 一个 issue 对应一个 分支。
而有的 issue 可能比较复杂,还有进一步分解,那么分解后的子 issue 对应一个分支。
分支要保持尽量小,生命周期尽量短,尽快做完合并到主分支。
qweweretrt515
2017-03-24 11:11:35 +08:00
@wtser
@andyhuzhill
@SpicyCat
多谢三位
shoaly
2017-03-24 11:33:31 +08:00
我在幻想如果你们真开了 100 个分支 对应 100 个功能之后... 合并时候的酸爽
keepfool
2017-03-24 11:48:42 +08:00
分支要用的时候再开吧。按楼主的意思,我感觉是一次来了 100 个功能,需要开 100 个分支,我觉得这和 git 无关了,而是管理的问题。
mahone3297
2017-03-24 11:52:28 +08:00
lz 的问题,我觉得重点,不是 100 这个数量。
应该是想说,做新功能,开分支。完成后, merge ,那分支要删除码?
* 我之前是删除的
* 现在不删除了。可以看当时的分支上,做了哪些事。而且多一些,好像也没什么性能影响
otakustay
2017-03-24 12:56:30 +08:00
分支随用随开, merge 完就删,楼上这样要看做了哪些事的,用 no-ff merge 就能看了
qiaobeier
2017-03-24 13:37:36 +08:00
为了避免风险需要有层级,每一个层级的分支生命周期都不同。具体要看你们怎么管理的。
以下是我习惯的分类。
- Trunk
-- Produce/QA/DEV (这里有 3 个分支,每 2 周更新一次,每一个分支独立进行测试)
---- Sprint (每 2 周往 DEV 合并)
------- Tickets (任务分支,一旦完成往 Sprint 分支合并)
loading
2017-03-24 13:40:17 +08:00
谨慎做删除……无论是什么东西。

别问我为什么知道。
340244120
2017-03-24 14:18:06 +08:00
源文件一般都按功能或者模块划分, csv 不是用来做这种事的。
而且即使要修改代码,也是从最新提交的代码里修改,从以前的分支里改好再合并的话,也太不科学了,因为你不能保证每个功能分支的修改完全独立于其它功能 /分支。
最后,所谓功能的分支,留着几乎没用,当然如果硬盘大,为了某些情况下方便查看当时的代码,留着也可以。。
mahone3297
2017-03-24 21:34:19 +08:00
@otakustay >楼上这样要看做了哪些事的,用 no-ff merge 就能看了
请教,这个能否说详细点?没明白
msg7086
2017-03-25 00:01:05 +08:00

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

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

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

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

© 2021 V2EX