V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
0littleboy
V2EX  ›  程序员

公司每一个功能或 bug 都要新开一个 issue,合理吗

  •  
  •   0littleboy · 5 天前 · 11525 次点击

    比如我要开发一个新功能 A 和解决一个 bug B 就需要建立 issueA ,issueB 然后根据 issue 编号建立,如分支 t_32 解决 issueA ,t_33 解决 issueB 这种方式合理吗?

    我感觉很麻烦,明明通过 git log 就能区分的事情,需要额外做挺多事 而且这个项目也没几个人开发

    124 条回复    2025-03-28 11:12:38 +08:00
    1  2  
    LHRUN
        101
    LHRUN  
       5 天前
    非常合理, 公司能这么规范你就偷着乐吧
    Nzelites
        102
    Nzelites  
       5 天前
    单人开发的话我认为可以不用,多人的话很合理
    RangerWolf
        103
    RangerWolf  
       5 天前
    你个人的项目 你怎么开心怎么来

    公司的项目,很合理,即使开发者就你自己一个人
    养成好习惯,也是一种成长
    RangerWolf
        104
    RangerWolf  
       5 天前
    @ExplodingFKL 个人认为,如果是公司的项目 即使只有自己一个开发者,也应该按照这种比较科学合理的流程来进行代码提交
    livin2
        105
    livin2  
       5 天前
    合理,但如果 "每一个都"的话,要结合里程碑控制合并的优先级和数量,还要避免分支的生命周期过长。
    Oxonomy
        106
    Oxonomy  
       5 天前
    学习一下什么是 TBD ,trunk based development
    yankebupt
        107
    yankebupt  
       5 天前
    如果你一个人负责到死,log 就行了。如果将来准备甩锅给另外一个人,那么如果他能做到查 issue 就知道什么 bug 什么时候修复了怎么修的,交接会轻松不少。当然代码量如果很低(几 k )的话就没必要了。
    zsh2517
        108
    zsh2517  
       5 天前
    感觉关键在于如何看待 issue (或者类似的东西)

    issue 是作为代码库的附属,只跟踪重要内容比如 BUG 、大型迭代等,上面只记录了需求内容
    还是软件迭代的一环,从需求提出(为什么要改代码/期望实现什么收益)跟踪到上线甚至收益回顾(实际带来了什么收益)

    后者的模式下,整个迭代流程可以被 issue 串起来,简化一下——PM 创建 issue ,然后 PMO 指派给相关人员;开发根据 issue 关联代码提交; QA 根据 issue 关联的代码库和分支进行测试,创建 bug 关联 issue ;上线时任务与需求绑定;最后 PM 再回顾这个需求的收益。
    mikewang
        109
    mikewang  
       5 天前
    挺合理的,而且我会把为什么出 bug 、bug 是什么样的表现、怎么修的等大致思路等等都写上。
    以后遇到类似问题或需要复盘的时候,翻找起来很容易。很多时候,人的记性没想象的那么好,多写点没什么坏处。
    除非是开发的一次性工具,用完就再也不维护的那种,那就随意了。
    panbeta
        110
    panbeta  
       5 天前
    对于小于 10 人合作开发的 Git 来说没必要如此复杂。 实际上 issue tracker 系统和 Git 可以通过其他方式结合。例如:每个版本发布前的 bugfix 阶段,拉 bugfix 分支统一修复本版本需要修复的 bug 。 每个 bug 单独一个 commit ,commit 中添加 「 fix: #ID 」的描述,issue tracker 系统收到 hook 通知后解析 commit message 来关联提交记录到工单就可以了。后期回溯直接从工单系统找就行了。
    satoru
        111
    satoru  
       4 天前
    关键在于谁来建 issue
    打个比方,如果公司内部有人给你报 bug ,他不写 issue 而是通过聊天工具或者口头传达,然后你来建 issue ,这样就不合理
    mikawang
        112
    mikawang  
       4 天前
    很合理,但是小公司就几个人没必要,中大公司还是需要
    wangtian2020
        113
    wangtian2020  
       4 天前
    小团队没必要,过于教条了,有种技术负责人刚出高校的一种菜逼美
    zhanglintc
        114
    zhanglintc  
       4 天前
    非常合理
    AlexHsu
        115
    AlexHsu  
       4 天前
    合理 但是没必要
    shm7
        116
    shm7  
       4 天前
    gitlab 标准流程类似
    unco020511
        117
    unco020511  
       4 天前
    合理的,但如果你的团队真的很小,那么是应该简化的
    NoKey
        118
    NoKey  
       4 天前
    都在一个分支,某个修改出了问题要回滚,咋整~
    sn0wdr1am
        119
    sn0wdr1am  
       4 天前
    非常合理,可追溯,可协同。
    ZoeMak
        120
    ZoeMak  
       4 天前
    产生这个问题的根本原因应该是有人在一个提交做了多件事情。
    最重要其实是一个 issue 只干一件事,一个 commit 只关联一个 issue 。
    清晰明了,双向回溯。
    Karte
        121
    Karte  
       4 天前
    合理, 主要有以下几点:

    1. 一个功能一个分支:确保功能完整,便于问题回退,控制影响范围。合并到主线通过 MR ,git log 清晰记录提交范围。
    2. 小提交原则:避免一次性提交完整功能。若功能开发中(已提交 5 次)遇 issue ,主线开发需选择回退( revert )或继续提交。前者需重新提交,后者可能因未完成功能导致主线无法运行。而一功能一分支、一 issue 一分支可快速切换修复 issue ,不受未完成功能影响。修复后,切回功能分支,rebase 解决冲突,继续开发。

    假设你已经 commit (还未 push) 了 5 个 change, 功能还未开发完成. 这时突然出现一个 issue, 如果这个 feature 在主线而非分支. 那你是打算 revert 之前的提交, 还是直接修改继续提交 (6 个提交).
    如果 revert, 那你得先 revert 之前的所有提交, 然后提交 issue, 之后还得重新 commit.
    如果直接提交, 那你还未完成的 feature 也同步 push 到主线. 那很有可能会出现无法跑通的情况 (必尽你还未开发完成).
    tedzhou1221
        122
    tedzhou1221  
       4 天前 via Android
    一个人的话,也合理。 昨天的你、今天的你、明天的你,都不一定能想起你写过什么代码,提交过什么东西
    yiyiniu
        123
    yiyiniu  
       3 天前
    @guanzhangzhang 非常赞成,很清晰。很容易追溯,项目管理就应该这样做。
    janus77
        124
    janus77  
       3 天前
    如果代码合并完以后把原分支删了就比较合理,不然的话时间长了几百个分支,光是选分支下拉列表都要拉个五分钟。。。。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1286 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:38 · PVG 07:38 · LAX 16:38 · JFK 19:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.