首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

一个 git 提交频率的问题

  •  
  •   0x11901 · 30 天前 · 2062 次点击

    工作几年了,感觉每个人的提交习惯都不同,一般分三类:

    1. 完成一个模块功能后提交,比如改完一个 bug
    2. 完成一个大功能的小点就提交,比如封装了一个函数
    3. 达到一个时间点感觉再不提交就要解决冲突了就提交,比如下班前提交

    我目前就是使用第二种方式提交,写一个页面我可以提交 7、8 次。但是大部分同事都是第一种,提交的代码:要么修改几行代码,要么就是多个文件大量的新增 /修改。

    我以为版本控制就是让自己能方便的追溯代码的构成思路,随时可以滚回几个版本之前或者再滚回之后发现还不如上一版之后再切回原来的节点继续开发……所以提交的越细碎越有价值。

    但是现实是我提交了十几次同事才提交一次,是我的理解错了吗?

    26 回复  |  直到 2019-07-19 23:40:00 +08:00
        1
    wutiantong   30 天前
    多提交总是没错的,但你要会写 commit message
        2
    FaiChou   30 天前
    信不信你同事会背后说: 没事天天提交这么多干嘛, 万一冲突了咋办!
        3
    iwishing   30 天前
    看 KPI,如果 KPI 统计的是 commit 数量,那 P 大点事都提交;
    如果没有,按一个 feature 一次提交,改一个 bug 一次提交。
        4
    FaiChou   30 天前
    对于小公司来说, 如果大家水平都不太高, 不要怀疑自己, 尤其是 git.. 工作好多年的同事, 只会用 sourcetree.. 他们会的不是 git, 而是一个图形化工具的操作而已. 不要抱怨, 毕竟只是小公司, 有耐心的话可以给他们培训下 git 使用规范
        5
    GPIO   30 天前
    持续集成
        6
    misaka19000   30 天前 via Android   ♥ 3
    我喜欢多次提交,然后用 rebase 合并
        7
    orzorzorzorz   30 天前
    一般第二种情况都是走 pr,想提交多少提交多少,最后 squash merge 完事
    琢磨了下,你这三种情况其实都该走 pr 啊
        8
    Justin13   30 天前 via Android
    Feature 是 branch 级别的。commit 的话应该是在功能完备的前提下,尽可能的多提交。
        9
    justlikemaki   30 天前
    开发一个功能时多次提交不 push,最后完成了再合并为一个提交去 push
        10
    cmonkey   30 天前
    代码写的多了,可能一行就是一个提交,所以一天能有几十个提交,都是血泪史导致成现在的开发模式
        11
    weixiangzhe   30 天前 via iPhone
    嫌多就 rebase -i 合并一下嘛
        12
    shm7   30 天前 via iPhone
    一个小功能 commit 一次
        13
    thfurior   30 天前
    自己分支随便 commit,但是合并的时候一般要 rebase,不然主分支的 log 就太杂了
        14
    yongliu   30 天前
    小功能提交,方便后续 cherry-pick 到需要的分支。
        15
    leafre   30 天前
    其实我想说,你想怎么提交就怎么提交
        16
    JasonSi   30 天前
    你这个提交是 git commit 么。。 怎么还能冲突的,和你提交几次有什么关系,还是说直接都在 master 撸的?
        17
    season4675   29 天前
    我突然想到了以前一个同事,他的 commit 是
    update
    update
    update
    update
    ……
        18
    liyanan   29 天前   ♥ 1
    我也喜欢多次提交,尽量单元小,模块独立也有逻辑 就提交。commit 时 message 写清楚,这样以后追溯起来很方便。见过很多人,很多东西一起提交,commit 写的也不是很清楚,后续对于不理解的代码,真的很痛苦。
        19
    0x11901   29 天前
    @wutiantong 其实我是[whatthecommit]( http://whatthecommit.com/)选手
        20
    0x11901   29 天前
    @FaiChou 其实我现在这里也是个大厂了……不过据我的观察大部分人都是能用就行,不会在意这些细节
        21
    0x11901   29 天前
    @yongliu 讲真我这么多年就遴选过一次代码,果然 git 我还没有入到门
        22
    Takamine   29 天前
    在自己分支我就一个空格提交一次也行阿。:doge:
        23
    lozzow   29 天前 via iPhone
    add *
    fix bug
    🌚
        24
    msg7086   29 天前
    频繁提交,阶段性 Rebase。
    Git 是一个很强大的工具,几乎是万能的,要怎么利用需要你自己去挖掘。如果 Git 的命令行你吃不消,可以找个像 SmartGit 这样功能丰富的 GUI 来做,减少出错的可能性。
        25
    inhzus   29 天前 via Android
    Merge 时 Squash 就好了
        26
    Midnight   29 天前
    我是频繁提交,然后 PR 的时候 Squash
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2059 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 05:38 · PVG 13:38 · LAX 22:38 · JFK 01:38
    ♥ Do have faith in what you're doing.