常年使用 git 的你们一般如何规范 commit 和 push 的频率? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
LioMore
V2EX    git

常年使用 git 的你们一般如何规范 commit 和 push 的频率?

  •  
  •   LioMore 2015-09-21 21:12:21 +08:00 13001 次点击
    这是一个创建于 3723 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前不懂这些的我经常就是git commit -m 'modified xxx'
    然后立刻马上git push

    后来发现这样项目动态的页面会有很多推送到分支的记录,一个 commit 一条记录,不是很美观

    请问 如何规范 commit 和 push 的频率才能让团队查看项目动态的时候更加舒心且可读性高呢

    21 条回复    2023-08-25 10:36:32 +08:00
    ibcker
        1
    ibcker  
       2015-09-21 21:14:44 +08:00
    稳定了就 push
    nino
        2
    nino  
       2015-09-21 21:18:38 +08:00
    你自己的 repo 开发的时候随意 push 没关系, pull request 之前用 rebase -i 整理好 commit
    LioMore
        3
    LioMore  
    OP
       2015-09-21 21:20:11 +08:00
    我希望能有一个对何时 push 有个清晰的定义,以规范团队中的 push 行为
    FrankFang128
        4
    FrankFang128  
       2015-09-21 21:25:38 +08:00 via Android
    这个看人 怎么规范都没用
    ShadowStar
        5
    ShadowStar  
       2015-09-21 21:30:26 +08:00 via iPad
    push 和 commit 没有必然关系
    commit 通常应该按照功能 /模块 /修正来
    push 应该及时
    gzxultra
        6
    gzxultra  
       2015-09-21 21:31:22 +08:00   1
    How to Write a Git Commit Message
    http://chris.beams.io/posts/git-commit/
    weifengzi2009
        7
    weifengzi2009  
       2015-09-21 21:40:39 +08:00
    我是干一件小事 commit 一次,然后一个任务完成了 push 一下
    Wangxf
        8
    Wangxf  
       2015-09-21 21:42:08 +08:00
    我用 git2 个月了,反正功能实现了,我测试没问题了就 push ,有时候强迫症犯了空格没对齐也 push 了
    lavadore
        9
    lavadore  
       2015-09-21 21:53:11 +08:00
    反正都是自己开一个分支出来,随便怎么弄,最后合并前整理下就行了
    timothyye
        10
    timothyye  
       2015-09-21 21:54:50 +08:00
    开发分支随便 push
    发布版本用另外一个分支,发布的时候再合并……
    sinxccc
        11
    sinxccc  
       2015-09-21 22:03:32 +08:00
    尽可能快的 commit ,本地不要留太久未跟踪的代码,最多最多不要超过一天。

    能编译通过,能通过 smoke test 的时候就可以 push ,如果觉得功能修改比较大会影响 feature 的时候就开新 branch ,然后约定满足什么条件的时候可以 merge 。
    Kilerd
        12
    Kilerd  
       2015-09-21 22:04:28 +08:00
    完成一个功能就 commit 一次。

    完成一次任务 就 push 一次。
    ddou
        13
    ddou  
       2015-09-21 23:31:10 +08:00
    1. 完成了一个独立功能或改了一个 bug , push 一次。功能较大的话,完成一个模块也可以。
    2. 每次 push 确保本地测试完全通过
    3. 如果本地提交记录较多,比较乱,建议 push 之前,本地先 git rebase -i, 可以合并多个提交,修改提交顺序,以及更改 commit message 。
    4. 涉及多分支开发合并的,尽量 rebase 后,在 merge ,确保 commit history 清晰
    5. 多 push ,避免本地代码丢失,前功尽弃
    df4VW
        14
    df4VW  
       2015-09-21 23:55:58 +08:00
    推到自己的 branch 上多频繁都无所谓啊,要合并的时候再 squash pick 下美化下 commit 记录就好了
    sudoz
        15
    sudoz  
       2015-09-22 09:40:48 +08:00
    master 分支只给小组长或项目负责人, dev 分支随便提交,等测试合格了合并到 master
    wubotao
        16
    wubotao  
       2015-09-22 10:41:52 +08:00
    用 git commit --amend
    实在不行 squash 一下就可以了。
    otakustay
        17
    otakustay  
       2015-09-22 12:02:05 +08:00
    尽可能多地 add
    以可运行为节点 commit
    以功能完备为节点 push
    以可提测 /上线为节点 merge
    h0wardc
        18
    h0wardc  
       2015-09-22 12:58:38 +08:00
    fhefh
        19
    fhefh  
       2015-11-05 20:31:42 +08:00
    mark~~
    LioMore
        20
    LioMore  
    OP
       2019-12-13 13:44:20 +08:00
    这个问题可以关闭了,当时我还年轻,现在这个答案我自己心里数了
    rainbowStay
        21
    rainbowStay  
       2023-08-25 10:36:32 +08:00
    @LioMore 可否总结下经验?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5060 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 09:33 PVG 17:33 LAX 01:33 JFK 04:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86