git 修改了多个文件提交的时候你们是每个文件 add 写 commit 还是只写一次啊?

2016-10-28 10:05:50 +08:00
 coolair
比如:在编辑文件 B 的时候,发现文件 A 有些地方写的不妥,然后就把 A 给改了,改 A 的时候发现文件 C 又有点问题,又顺手把 C 给改了。
改的三处都是不同功能的修改,当 A 、 B 、 C 都完工,要 push 代码的时候,是一个一个 add 写完 commit ,然后 push ,还是就 add ., commit 就针对 B 的写,然后 push ?
如果是后者,就会不妥吧,看 commit 的时候发现新增 B 这个功能怎么扯到 A 和 C 了?
6437 次点击
所在节点    问与答
17 条回复
tracyone
2016-10-28 10:14:09 +08:00
看心情
GhostFlying
2016-10-28 10:15:08 +08:00
一个一个,你也说不妥了
Vindroid
2016-10-28 10:21:46 +08:00
按功能划分提交吧
malkavia
2016-10-28 10:36:22 +08:00
一个一个,方便 codereview ,方便回 revert
psklf
2016-10-28 10:42:00 +08:00
>add ., commit 就针对 B 的写,然后 push ?

应该是你 commit 把所有的信息都写上
cha0s
2016-10-28 10:43:49 +08:00
一次提交,写清楚就行了。需要单独 review 时候 cherry 就行
Jiki
2016-10-28 12:18:32 +08:00
一个个写回退方便点,清晰点……一起写就写具体点,加上 commit 详情也挺清楚的。
还有就是改动引发次生问题和修改的可能,以及心情▼_▼
kevinzhwl
2016-10-28 13:31:01 +08:00
看心情,另外改 b 的时候别瞎看 ac ,容易爱心泛滥。哈哈
Layne
2016-10-28 13:51:10 +08:00
按功能来
happypy1
2016-10-28 15:19:20 +08:00
原则上是不同目的的修改是放在不同的 commit 里的。

如果你的 a , b , c 的改动都是互不关联的话,不嫌麻烦,就分开放。

不过通过很多次实践证明,你省了一时的麻烦,将来就有更多呃麻烦来找你。自己掂量吧。
tobeyouth
2016-10-28 15:21:47 +08:00
如果这几个文件的修改是强关联的,还是一起提交比较好
otakustay
2016-10-28 15:30:48 +08:00
保证每个 commit 是能过 ci 和可运行的
pagict
2016-10-28 15:32:49 +08:00
多用 branch
nailuoGG
2016-10-28 15:34:59 +08:00
可以按功能来新建分支,就不会忘记自己改了哪些东西了。
ycge234
2016-10-28 15:44:11 +08:00
'每个提交都应该保持原子性'
csdreamdong
2016-10-28 15:46:13 +08:00
git amend
9hills
2016-10-28 15:49:17 +08:00
改 A 的时候发现 B 有其他问题,解决办法就是开个新的 branch ,只改 B 。当前的 branch ,只改 A
之后再 merge 到一起

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

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

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

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

© 2021 V2EX