0x11901
V2EX  ›  问与答

一个 git 提交频率的问题

  •  
  •   0x11901 · Jul 19, 2019 · 5467 views
    This topic created in 2673 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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