每次提交代码的时候写 commit info 我都要纠结很久到底怎么写,有时候完成的不止一个功能,但是又不是在同一个模块。 想问问各位是怎么提交代码的?
1
zoharSoul 2021-01-12 14:43:51 +08:00 1
那就完成一个提交一个
|
2
mokeyjay 2021-01-12 14:45:14 +08:00 1
当然是完成一个功能提交一次啊
|
3
nise3055 2021-01-12 14:47:34 +08:00
描述 1 & 描述 2 & 描述 3
无限用&连起来 我写的不只是给别人看的还要给自己以后查问题的时候看,当然写清楚最好 |
6
ychost 2021-01-12 14:55:15 +08:00
随便写,比如动了什么逻辑,修复了什么 BUG,或者改了某个字段啥的,有时候不想写就写个 update
|
8
rebounce 2021-01-12 15:07:19 +08:00
rebase
|
9
stephen728 2021-01-12 15:10:30 +08:00
我一般按有序列表来写 把所有改动都列进去
|
10
zzzmh 2021-01-12 15:13:49 +08:00
我们这边的规定是尽量一个功能 一次提交,例如这 3 个文件是一个改了一个功能,就这 3 个提交一次,写一个功能,剩下的再来。如果实在分不开,才写一起。就这次提交有多个原因,那后续审核代码就累点。。
|
11
Macv1994 OP |
12
AoEiuV020 2021-01-12 15:50:46 +08:00
零零碎碎的我一般就写个大概,修改了 xx 相关问题,
|
13
fangcan 2021-01-12 15:52:33 +08:00
分功能提交,后面合并到其他分支或者需要撤回时 好操作
|
14
renmu123 2021-01-12 16:09:09 +08:00 via Android
我一般看心情,心情好就多写一点,标个 1,2,3,心情不好就一个 update 完事 2333
|
16
samin 2021-01-12 16:32:34 +08:00 1
题主反应的,是工作方式的问题,尽量避免无意义或者不完整的提交,参考下 commit message 的最美状态吧:
https://github.com/SaminZou/study-prj/blob/master/docs/knowledge_base/git%E6%8F%90%E4%BA%A4%E4%BF%A1%E6%81%AF%E8%A7%84%E8%8C%83.md |
18
xmt328 2021-01-12 16:57:42 +08:00
建议拆分提交
|
19
cmdOptionKana 2021-01-12 17:06:35 +08:00
|
20
zjbztianya 2021-01-12 17:17:55 +08:00
|
21
hantsy 2021-01-12 17:24:10 +08:00 1
@Macv1994
1. 用 Branch 添加新功能( Feature ),即使是你的个人项目,也可以让你养成很好的一种习惯。创建 Branch,立即建 PR,可以在 PR 或相应的 Issue 中写一个 CheckList ( Todo List,一个 feature 拆分成细的 Task ),每次提交对应一个 Item,完成一项点一项,相应的 PR 或 Iusse 标题也可以自动显示进度。 2. Commit message 严格按 Google Angular 规范来,可以用 Commitlint 检查。 https://github.com/conventional-changelog/commitlint 3. 保证每次提交记录是一个可以运行(或可工作的)的单元,完成了一个可描述的功能,不相干的文件尽可能在不同的提交中,没有 Broken 的功能。非常实用,实践过程必需有大量测试来保证。可能的误操作,如比前一次 Push 中少提交了文件等,用 rebase 修改。(**这个对于实际项目至关重要**)(比如写用户相关功能,完全不必要顺便修改产品相关的代码。我的观察,很多国人习惯,总是顺手修改一下,结果导致与他人冲突,合并浪费大家更多的时间。发现其他组件代码有问题,需要优化或者修改,正确的姿势第一步是新建一个 Issue 去 @相关人讨论) |
22
jetyang 2021-01-12 17:28:10 +08:00
按规范一个 feature 一次 commit,最后一起 push 上去
|
23
Macv1994 OP |
24
Jinnn 2021-01-12 18:16:08 +08:00
感觉项目未成形的时候会经常一口气改好多, 后期的话比较好一个问题一个 commit
|
25
lbyo 2021-01-12 18:27:57 +08:00
|
26
zxCoder 2021-01-12 20:02:30 +08:00
个人项目我经常把 git 当做同步工具。。。一天提交一次。。。
|
27
oliver2bao 2021-01-13 00:10:55 +08:00
我是 nodejs 开发,所以用的工具都是 nodejs 的包。
我在提交的时候,安装`commitizen`后使用`git cz`来提交。另外,`commitizen`模块是可通过其他包自定义提交格式的。 具体看我的![博客]( https://bubao.github.io/2020/09/16/nodejs%E9%A1%B9%E7%9B%AE%E8%87%AA%E5%8A%A8%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%96%B9%E6%A1%88/)。 |
28
jzmws 2021-01-13 08:05:12 +08:00 via Android
我的要求 xxx (姓名简写) 1.xxx2.xxx
|
29
hantsy 2021-01-13 11:40:53 +08:00
@oliver2bao node 比较容易, 直接 Commitlint,使用体检比 commitizen 好。
https://github.com/hantsy/nestjs-sample/blob/master/package.json#L43 https://github.com/hantsy/nestjs-sample/blob/master/package.json#L93 Java 的可以 commitizen 写 Git hook (需要 python ),相对慢一点. https://github.com/hantsy/spring-reactive-jwt-sample/blob/master/.pre-commit-config.yaml |
30
Niphor 2021-01-13 12:29:13 +08:00
提交时 按功能 pick 代码行提交,push 前合并重复 commit
|