大家 commit 的颗粒度是怎样的?

2019-11-26 12:26:06 +08:00
 JCZ2MkKb5S8ZX9pq


10253 次点击
所在节点    git
54 条回复
FrankHB
2019-11-26 15:30:41 +08:00
对于不那么大的多数 repo,我还就是“理论上是不是应该是 branch 出来改,阶段性改完再 merge 回 master”这样做的。这个做法最大的问题是自己有强迫症能统一就好说,跟别人协作的时候就未必那么痛快了。
“经常改一些注释说明,过一会儿又想起来了稍微改点,就频繁 commit 了”,这种情况(特别是同一个文件原地更新)属于同一个 feature 没做完,squash commit 是应该的。而且至少 git 做这个很容易(像 hg 这种历史不容篡改强迫症嘛……不过好歹有 mq )。实际上更坑的经常是 push 太早了得 --force ……
测试用参数一般属于每用户配置,公开的 repo 不 commit,直接 ignore 排除掉。当然,如果你就是为了保存自己的配置才开的 repo 自然另当别论,取决于你愿意什么改动能在之后找得到。
另外,有的 repo 维护者会要求 squash/merge 优先,这个情况一般自然客随主便。
Exin
2019-11-26 16:56:50 +08:00
通常是与我的任务规划粒度对应的,
每个任务细分为 n 个步骤的话,每个步骤对应一次 commit
如果一个 commit 太大了,可能是因为规划任务的时候低估了这种工作,要引起注意
最后再逐个 commit 地 review,会比较方便
azhangbing
2019-11-26 17:08:56 +08:00
按功能点 模块细分
coder2019
2019-11-26 17:19:47 +08:00
一个功能、一个模块或一个 bug commit 一次
jeffh
2019-11-26 19:24:39 +08:00
改一点 commit 一下,merge 前先 rebase -i squash,再合并
zunceng
2019-11-26 19:59:46 +08:00
开发的时候 一天一个
修 bug 一个 bug 一个
qwerthhusn
2019-11-26 20:09:07 +08:00
个人改一点 commit 一点,然后完整后,再 reset --soft,再重新 add-commit-push

我之前公司刚开始用 Git 的时候,很多人(包括我)压根不会,最后导致提交 graph 图跟北京地铁图一样
petelin
2019-11-26 22:15:19 +08:00
squash
@qwerthhusn 你自己的 branch 乱搞都没事合并到 master 的时候 压缩成一个就行了 怎么感觉你描述的还是错误的
yilingersier
2019-11-26 22:42:10 +08:00
不仅要 commit,还得 push 啊,这段时间公司电脑升级版本外加装个苹果管理软件 JAMF,格完系统,看着自带 dark 模式电脑正暗暗自喜的时候,心里咯噔一下,卧槽,我特么这个礼拜的代码都在本地 branch 上了
zclHIT
2019-11-26 23:55:37 +08:00
小步提交,日常采用 master 单分支开发,上线拉 release 分支部署 UAT 和 prod,好处就是不管哪天要上线,我的整套 pipeline 都是绿的,随时都能交付
ericgui
2019-11-27 05:31:58 +08:00
@zclHIT 为啥不用 tag ?而要用 release branch ?求指教
realpg
2019-11-27 06:50:24 +08:00
@ericgui 大概是不熟练
puncsky
2019-11-27 06:56:15 +08:00
谷歌鼓励每个改动尽量小。百行以内是“小”,三百行以内是“中”,一千行以内是“大”,超过一千行是“超 tm 大”。

https://guigu.io/notes/192-google-software-engineering#%E4%BB%A3%E7%A0%81%E5%AE%A1%E6%9F%A5
orzorzorzorz
2019-11-27 07:22:25 +08:00
做完一件事就体提交一次,一件大事也可以拆成很多小事不是?
ericgui
2019-11-27 07:46:26 +08:00
@realpg 不懂你啥意思?
weixiangzhe
2019-11-27 08:08:26 +08:00
用 rebase 都不是事,我是没事就 commit,之后看着多久 rebase 一把
Originalee
2019-11-27 08:41:02 +08:00
改动尽量小,等出问题的时候好找
zzugyl
2019-11-27 09:05:42 +08:00
一个 feature 或者一个 bug,commit 一次。
但是有时候改动很大,也很苦恼。
11ssss
2019-11-27 10:03:29 +08:00
小阶段性 保证出问题能够随意回滚
massacreformash
2019-11-27 11:18:21 +08:00
平时开发:
需求:用户故事级或任务拆分后的任务级
基础组件:
functional 级

测试:
单一 bug 级

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

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

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

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

© 2021 V2EX