真有人觉得 Git 会提高生产力?

2021-05-25 10:37:11 +08:00
 longway
以前一直觉得 Git 挺好。不过最近做了一个 feature,改了一大堆文件。这些文件别人也在改,有非常多 commit 。在 Git 合并,解决冲突,rebase 上花的时间远超以前用 svn/perforce/tfs 。


看这么多人吹 git,不知道逻辑是什么,难道一个更加复杂的东西使用时会花费更少的精力?

svn 这种中心化模式,一个人 merger 好了,其他人 sync 一下即可。现在用了 git 每个人都要管理自己的 branch,自己去做 merge 同步,真觉得这样省力?

难道你们都是一个人在开发 ?一个冲突没有?
20608 次点击
所在节点    git
170 条回复
guog
2021-05-25 13:49:12 +08:00
@longway #76 linux 内核多少人合作开发?
neptuno
2021-05-25 13:49:12 +08:00
感觉是你们团队沟通问题吧,,,这个啥工具也救不了你
ipwx
2021-05-25 13:53:58 +08:00
1. 你得用 branch 。branch 功能特别爽,每个人独立开发个把月,最后合并就行了。
2. 如果你们不能用 (1) 的方法工作,说明你们团队每个人的功能划分太奇怪了。哪有这么多的一起修改同一个文件的情况啊?这哪种工具都高效不起来啊喂。你们得有分组分层责任划分,每个组每个层和别的层除了接口其他互不相关才行啊。
yyfearth
2021-05-25 13:54:34 +08:00
用过 svn/perfoce
当有 branch 的时候 而且差别很大的情况下 根本没办法 merge
只能一个个文件重新改

这样比 git 还难受呀

如果 svn/perfoce 只用 chunk 的话 就喝 git 只用 master 一样啊 都很简单的
ipwx
2021-05-25 13:55:54 +08:00
@masterclock @jones2000 所以就是楼主 @longway 团队的合作方式有问题啊。如果每天都有大量 conflict,说明根本没有进行团队工作切分,都是临时给人派任务。。。。这妥妥的缺少个架构师
cco
2021-05-25 13:57:20 +08:00
不知道是不是我不会用 git,我们提交代码的要求,第一不能积累太多内容,最好改一个 bug 合并一次。第二,合并完必须可运行。另外,大家都按照模块来开发,交叉开发不多见。
所以到目前为止,几乎很少会出现冲突,每天写代码前先 pull,然后再开始写,及时合并,及时 pull 。
junnplus
2021-05-25 13:58:00 +08:00
看到楼上的回复我就放心了
ipwx
2021-05-25 13:58:23 +08:00
@longway 高效的大项目(也是 git 适合的场景):每个组负责不同的子系统、组内每个人负责不同的子模块。每个人负责的文件都不一样,哪来的冲突机会?组和组之间的接口由总架构师协调,组内由组长协调。架构师干嘛的?不就是干这个的吗?

你一坨浆糊当然一直冲突…… 而且还没法开发更大的项目。
ericgui
2021-05-25 14:00:17 +08:00
如果你们经常出现 conflict,那是你们领导出问题了,而不是 git 的问题

不管用什么工具,最后还是人来用,而众所周知,蠢人居多
Nielsen
2021-05-25 14:02:27 +08:00
开发流程的问题吧,就算是 SVN,你 merge 的时候一样也要改别人的代码(如果有冲突),只不过相当于大家都要等你 merge 完再 sync 。
换到 git,你也可以吼一声大家都别动,等你 merge 完都 pull 一下。
只不过牺牲了客户端的自由度,换取了对 commit 的绝对掌控。
balabalaguguji
2021-05-25 14:06:35 +08:00
两个工具各有优缺点,个人比较喜欢 SVN,简单但是足够应付各种工作
5200
2021-05-25 14:08:17 +08:00
其实 GIT 在一些需要特定版本的项目中很方便。
觉得难用可能是没有使用到 git 的精髓,版本分支这块。或者一些场景 git 有更好的解决方案。
比如有一块大的功能,你开发完了,但是不急着上线,又有新功能模块需要开发上线,这时候使用 SVN 处理就会比较麻烦。
或者线上某个版本出问题了,要你马上回滚到特定的版本。此时一些新功能已经开发了一大块,且提交上去了。使用 SVN 也会比较麻烦。GIT 的话可以每个大版本都生成一个分支。

可以百度看一些 GIT 应用场景之类的文章,会有所收获。

http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
https://juejin.cn/post/6844903635533594632
xFrye
2021-05-25 14:14:48 +08:00
工具是有适用范围的,我觉得你们内部团队管理出现的问题更大。。。
christin
2021-05-25 14:17:32 +08:00
所以为什么不用 merge 要用 rebase ?
mxT52CRuqR6o5
2021-05-25 14:29:02 +08:00
@longway 你说的这些 git 也可以做到啊,很多团队用 git 的方式就是在一个分支上开发,这是项目管理者自己选择的问题,而不是 git 的问题
serge001
2021-05-25 14:40:13 +08:00
你说的这些问题跟 git 有关系么?用 svn 几个人改一个文件也一样会有冲突
clf
2021-05-25 14:41:25 +08:00
项目管理者的问题,而不是 git 的问题。
Dlad
2021-05-25 14:48:03 +08:00
真有人觉得 8 车道大马路会提高生产力?
以前一直觉得大马路很好,不过最近需要到马路对面去。其他人也要去,人和车都非常多,等红灯的时间远超以前走乡间小路。
看这么多人吹村村通,不知道逻辑是什么,难道一个更加复杂的东西使用时会花费更少的精力?
imkerberos
2021-05-25 14:54:17 +08:00
楼主太年轻, 没用过 CVS.
securityCoding
2021-05-25 14:54:24 +08:00
没事用 rebase 干嘛...

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

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

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

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

© 2021 V2EX