发现自己的 commit 标题和内容越来越长了

117 天前
 netabare
大概是从四年级还是五年级做自己的项目开始,感觉好像就隐隐约约有倾向想要在 commit 里面写越来越多东西。一开始只是写比如从哪个 Stackoverflow 讨论串找到的参考资料,后来到一些算法或者设计上的东西,然后发现自己的 commit 标题越来越长,感觉长过头了就写进了 message 里面,然后就在 message 里面写 markdown 了。

上班后感觉好像这个倾向又被强化了,一方面摸鱼写的代码的 commit 很容易一个 commit 里面覆盖多个内容,而不是像写自己的项目那样细粒度到一两个文件,另一方面又总是担心意图没解释清楚别人难以理解自己的代码。

所以 commit 有时候就会长这样:

```markdown

[Core] (fix) Sorting algorithm, XXX Page, YYY Service

- Designed an algorithm to sort a certain dataset according to some requirements and constraints
- Included this algorithm into XXX page
- Extracted several methods to YYY service
- Removed deprecated codes
- Added test suite for subjects mentioned above

The algorithm scans the incoming dataset, which should conform to ..., at a first pass, it will ...

Some code has been refactored and reformatted.
```

不过也不总是这么长就是,如果 commit 改变的东西不多的话,那倒是经常一两个 bullet 就完了。

另外也感觉发 PR 的时候好像我总喜欢写得像 GitHub 的 readme 一样。

不过也听说是不是说长 commit 是新手的普遍操作,senior 的 commit 普遍一句话带过。
4122 次点击
所在节点    程序员
31 条回复
echoless
116 天前
shaozelin030405
116 天前
update ,fix ,fix: 调整
TeslaM3
116 天前
挺奇葩的,如今 IDEA 这么丰富的现状还使用命令。
feiyan35488
116 天前
业务需求和设计思路可以写到 mr 的 message 里,
算法的文档可以写到代码注释里
feiyan35488
116 天前
@TeslaM3 命令行 效率高,与 idea 无关,可以避免脱离 idea 不会使用 git 的情况,比如 linux 上,或换 idea 的情况
woshihgs
116 天前
牛 四年级就开始做项目了
1rv013c6aiWPGt24
116 天前
四五年级…牛逼啊
RockShake
116 天前
你的内容适合放在 Pull Request 里面,Commit 的规范可以参考 Conversional Commit ,那个说的挺清楚的
artiga033
116 天前
commit 我一般是保证简洁易读,甚至有时为了压缩长度在保证可读性的前提下破坏自然语言语法(比如省略一些虚词介词量词)
chengxy
116 天前
@Seria #8 暂存
netabare
114 天前
@UncleCAT4 是指大四大五啦,法国的大学学制是五年的。


@roundRobin 主要也是看团队里面并没有把 PR 细化到这个地步,一般一个 issue 就是一个 PR ,如果大家的 commit 和 PR 都很细的话我肯定是跟着他们做的。GitHub 上的个人项目倒是不会做那么细就是……


@Contextualist 好建议,我倒是还没太熟悉 rebase 的用法,感谢提醒。


@tolbkni 注释我感觉问题在于后面改来改去的很容易就会丢掉上下文……


@GeruzoniAnsasu 示例这个确实不太好,不过一方面也有看团队里一个 PR 也就几个 commit ,我自然会倾向于避免上来就推几十个 commit 的巨型 PR ,所以也会有想要把 B 「虽然是不同的事情但在功能上相互联系的几件事组合在一起」的倾向,尤其是发了两次包含连续四五个 Refactor 的 PR 之后。


@Scarb 这个模版倒是不错,有时候我感觉我也有点像在往这方面靠。


@janus77 会的,会先看 git blame 找出 commit 的历史记录,问题是一般来说别人都是简单的一句话甚至没有提到他的代码意图,所以我才感觉如果有个 commit message 会清晰很多。

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

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

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

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

© 2021 V2EX