公司开发部门 GIT SVN 之争

2015-07-28 11:37:47 +08:00
 Navee
公司最开始决定是使用GIT作为版本控制 , 也都使用了4,5个月了 , 开发人员也都是20多岁年轻力壮的年轻人 , 每个组的组长也一直在做git使用的培训 , 即使是这样 , 还是遇到了非常大的阻碍 , 主要是如下几点 :
1.代码合并导致代码丢失
2.很多人对代码commit到本地后还要push到remote表示很不解
3.个别同事经常反馈commit的记录丢失
因为很多同事都遇到这3个问题 , 所以普偏反馈建议改为SVN作为版本控制 , 特别是接连好几次有同事反馈了第三个问题 , 我和运维都表示很吃惊 , 表示绝对不会出现丢失的情况 ; 但是公司的领导看到这样的反馈 , 还是建议采纳开发的建议 , 改为SVN , 然后运维就将GIT 改为了SVN

个人的一点看法:
对于第一点 , 我觉得完全是开发人员自己的问题造成的 , 如果开发人员不找到自己的原因 , SVN也会出现合并造成代码丢失的问题
第3点问题 , 当时有人说这样的问题 , 我表示也是非常的诧异的 , 我自己也是刚用git , 但是也觉得并不会出现这样的问题 , 之道有一次自己做了这样一个操作 , 在一个branch上checkout了一个commit,然后在这个commit的基础上做了一下修改,然后commit了,最后checkout 原有branch时发现 , 这个commit在branch的log上是不存在的 , 由此我猜测是不是当时那位遇到commit丢失的同事是否也是像我这样操作了 ;

总之用了一个多月的git , 觉得git在需要频繁修改bug的场景下 , 发挥巨大优势的branch比svn还是要好用很多的 ; 发表这个帖子并不是想说git 比svn好用 (LZ在一个公司使用过2年的Microsoft sourcesafe , 那种恶心的版本控制简直不想再提) , 而是提一下自己以及同事在使用git确实会遇到一些影响开发的问题 .
18926 次点击
所在节点    程序员
215 条回复
mahone3297
2015-07-28 11:45:16 +08:00
会丢commit?那么多人用,要丢,早丢的不成样子了吧。。。github估计都要倒了吧。。。
应该是用的人的问题吧。。。没学会git,然后在用git。。。
然后要走老路,用老的东西(抱歉,我就是认为git比svn好)。虽然都是20多岁年轻人,但是思想还是很懒,不愿做创新,改变,学习。
visonme
2015-07-28 11:46:16 +08:00
用git还是svg其实并不是什么很重要的问题
关键还是看团队成员对那个更加认可,那就用那个呗,对于某个工具在某个场景下的优势其实在很多团队中这都是可以被忽略的。
xudongz
2015-07-28 11:46:45 +08:00
很多人不熟悉git最起码开小会的时候顺便做个培训吧,特别是一些影响大的误操作要强调一下啊,不是每一个码代码的都天生会用这些版本控制的东西,特别是现在好多半路出家的野生码农,以前都是单打独斗的多。
你们领导换回svn是对的,任你有多少理由,给开发造成了障碍就该换。
crabRunning
2015-07-28 11:47:23 +08:00
什么年代了还用svn
mingzhi
2015-07-28 11:47:24 +08:00
叫他们先用git的gui 工具先。。。
vietor
2015-07-28 11:49:49 +08:00
落伍的人,最不想改变
chmlai
2015-07-28 11:52:33 +08:00
lz 什么类型的公司?
Navee
2015-07-28 11:55:39 +08:00
@chmlai 电商类型公司
benjiam
2015-07-28 11:55:54 +08:00
你们应该用gerrit 帮你们做提交,这样就知道问题了。
Navee
2015-07-28 11:58:23 +08:00
@mahone3297
我刚按照我之前的操作测试了一下:
1.在master创建a文件 , 提交一版a001
2.修改a文件提交一版a002
3.checkout a001 , 修改a文件提交一版a003
4.checkout master 查看log ,只有a001 ,a002
5.checkout a001 , 查看log只有a001

丢失并不是针对于正常的操作流程 , 而是针对于我说的这种操作 , 而且这样操作git并不会报错
Navee
2015-07-28 11:59:26 +08:00
@mingzhi 现在都是在eclipse中操作的 , 除了push , 和svn操作也并没有差别
raptor
2015-07-28 11:59:50 +08:00
所以说,还是HG大法好,操作命令兼容SVN,功能兼容GIT。
tigerz
2015-07-28 11:59:52 +08:00
连 git 都学不会的人,不要再做开发害人了,谢谢。
sortbylist
2015-07-28 12:00:21 +08:00
就知道学习,就知道改变,就知道BB。如果SVN能够解决问题,能够胜任工作,为什么要学git。而且使用中还会丢记录,难道学习没有成本?丢记录不会导致工作问题?你不丢记录你很happy是吧?你学的好你就不管学不好的是吧?没什么争的,哪个好用用哪个,这个好用包括会不会用。
EPr2hh6LADQWqRVH
2015-07-28 12:00:40 +08:00
会svn懒得学git的 vs. 会git懒得学svn的 vs. 都不会懒得学任何cvs就是喜欢打包用qq传的
Andiry
2015-07-28 12:00:50 +08:00
@Navee 怎么看不懂你在说些什么。a001到底是branch还是commit?
EPr2hh6LADQWqRVH
2015-07-28 12:01:13 +08:00
vcs
chmlai
2015-07-28 12:01:21 +08:00
试试 git-flow 呗
yoa1q7y
2015-07-28 12:02:12 +08:00
我也在公司培训了无数次了,但是还是有很大一部分人不会使用,不能理解(不愿意去研究)
每培训一次,就像一次低能人口普查
adjusted
2015-07-28 12:02:34 +08:00
git 能丢失东西也是不容易啊... 哪有这么容易玩坏

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

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

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

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

© 2021 V2EX