V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
merpyzf
V2EX  ›  程序员

竟然有公司多人开发不用版本控制

  •  
  •   merpyzf · 2019-03-10 21:18:32 +08:00 via iPhone · 15732 次点击
    这是一个创建于 2087 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天和刚入职的同学聊了好多关于他刚入职的公司的事情,然后对小型的软件公司产生了一个颠覆性的认识。同学刚入职的是南京小型初创公司,员工规模 6 人,两个后端,我那个同学就是刚招进来的一个后端。不谈公司开发的项目的代码写的有多糟糕,震撼到我的就是项目开发竟然不做版本控制?!代码合并的方式竟然是用优盘拷贝然后手动合并。
    一个懂管理的老板知道自己不懂技术,难道不应该招一个懂技术的产品经理来审查一下项目代码质量。大家在自己的面试经历中有遇到过这种公司吗?

    106 条回复    2019-03-13 10:07:34 +08:00
    1  2  
    1762628386
        1
    1762628386  
       2019-03-10 21:21:00 +08:00
    不然咋轮得到你指手画脚? 你给他们来点有实际效果的培训,给老板来点建议,慢慢你就成 leader 了
    Lonely
        2
    Lonely  
       2019-03-10 21:30:53 +08:00 via iPhone   ❤️ 2
    为啥是招一个懂技术的产品?
    sooong
        3
    sooong  
       2019-03-10 21:35:00 +08:00   ❤️ 1
    就我一个,一般想怎么用就怎么用。 大多都是 FTP 直接改。
    hellowes
        4
    hellowes  
       2019-03-10 21:40:39 +08:00
    小公司是这样的,没接触过大公司的工作 flow,具体怎么方便怎么来(然后手动解决版本问题一点也不方便)
    opengps
        5
    opengps  
       2019-03-10 21:40:55 +08:00 via Android
    习惯就好,小公司就这样,基础知识都没学好,哪有精力学版本控制工具。
    曾经的我就是用定期压缩包备份代码😭
    tourist2018
        6
    tourist2018  
       2019-03-10 21:44:11 +08:00
    @opengps #5 这个用 U 盘啥的不更不方便么?随便开个 gitlab 或者 github 企业账户也够了
    fox0001
        7
    fox0001  
       2019-03-10 21:44:41 +08:00 via Android
    有经历过,当年有个同事用 notepad++想全部文件查找,按错替换,于是就悲剧了…项目上的版本控制,是修改之前,自己对修改的文件做个备份…
    mamahaha
        8
    mamahaha  
       2019-03-10 21:45:27 +08:00
    老板怕把人管跑,出来效果能拉投资就行
    opengps
        9
    opengps  
       2019-03-10 21:46:36 +08:00 via Android
    @tourist2018 刚毕业的时候根本不知道这是个啥,当然不会采用
    visonme
        10
    visonme  
       2019-03-10 21:57:55 +08:00
    在开发上,小公司没有大公司那么规范化的流程, 很正差不过了, 但是存在多人协作开发的情况,不做版本控制,依赖这种操作,只能说这家公司也算奇葩,这锅我觉得开发要背,无关 BOSS,O(∩_∩)O
    pkokp8
        11
    pkokp8  
       2019-03-10 22:50:24 +08:00 via Android
    @opengps 没有高阶使用技巧的话,学习成本不高吧
    4ark
        12
    4ark  
       2019-03-10 23:09:55 +08:00 via Android   ❤️ 1
    可怕
    hengo
        13
    hengo  
       2019-03-10 23:15:22 +08:00 via Android
    就算只有两个开发,也要用版本控制吧
    qq007523
        14
    qq007523  
       2019-03-10 23:19:08 +08:00   ❤️ 1
    没啥奇怪的,用百度云或 QQ 传项目的我都见过。。。
    CallMeReznov
        15
    CallMeReznov  
       2019-03-10 23:20:30 +08:00
    这我就得说说我司了
    开发分布 70-80 口人(号称),发给我编译文件竟然用钉钉,并且不做任何二进制文件的版本控制
    一天发 8 回到最后自己也弄不清楚到底是哪个版本是最新的。
    就这样中间还强行加一道“测试”环节,结果测试人员全是混吃等死摸鱼的非相关人员。
    最后屎都是我来吃。
    merpyzf
        16
    merpyzf  
    OP
       2019-03-10 23:44:18 +08:00 via iPhone
    @hengo 我觉着就算是个人开发也是有必要加入版本控制的。比如:每次添加新功能的时候或者修复错误的时候都可以放心大胆的去做,大不了回退呗。另外如果你的项目被别人接手了,还可以根据每次的提交日志来了解项目的开发历程。还有的话就是可以给代码做一个备份。
    merpyzf
        17
    merpyzf  
    OP
       2019-03-10 23:45:37 +08:00 via iPhone
    @qq007523 如果多个人修改了同一个文件中的代码那么手工合并岂不是噩梦😂
    merpyzf
        18
    merpyzf  
    OP
       2019-03-10 23:47:30 +08:00 via iPhone
    @CallMeReznov 哈哈看来不是个例啊,不过这么多人合作开发不使用版本控制管理层是怎么想的?
    merpyzf
        19
    merpyzf  
    OP
       2019-03-10 23:49:48 +08:00 via iPhone
    @visonme 是的
    UxCZbWShjEsL
        20
    UxCZbWShjEsL  
       2019-03-11 00:38:35 +08:00 via iPhone
    这种公司有点夸张了。git 用了就离不开了,就我一人我也要用
    KasuganoSoras
        21
    KasuganoSoras  
       2019-03-11 00:49:44 +08:00
    不重视代码管理规范可还行
    我就算自己一个人写都会用 git
    keyn
        22
    keyn  
       2019-03-11 01:30:16 +08:00   ❤️ 1
    Git 重度患者~
    如果代码不放在 repos 里,总感觉那是个没有灵魂的“源(La)码(Ji)文件”。
    根目录还得加个.editorconfig
    congeec
        23
    congeec  
       2019-03-11 02:38:17 +08:00   ❤️ 4
    我刚到公司那会儿,老板的代码简直一坨意面。我屁话没说,慢慢重构、加版本控制、写单元测试、上 ci/cd。后来带新人省了不少事儿

    公司没人做,你就带头做,做好了你就是小领导
    kernel
        24
    kernel  
       2019-03-11 06:29:34 +08:00 via Android
    别说小公司了,我呆过一个几百人中公司,php,没版本控制,更新软件是直接发送一个包含已更新文件的压缩文件包给技术经理,然后统一由他 review 并复制到线上
    DefoliationM
        25
    DefoliationM  
       2019-03-11 07:27:07 +08:00 via Android
    @opengps 不对吧,正常来说这种东西在大学的时候应该就知道了,即使不在公司,自己也会用到的吧。
    yksoft1ex
        26
    yksoft1ex  
       2019-03-11 08:03:28 +08:00
    非互联网、软件行业搞设备软件或者嵌入式开发的公司很多都这么搞。
    wolfie
        27
    wolfie  
       2019-03-11 08:16:55 +08:00
    最简单的使用,学习成本很低的吧。
    yogogo
        28
    yogogo  
       2019-03-11 08:38:21 +08:00
    没有版本管理的项目,我都会自己做版本管理!
    18601294989
        29
    18601294989  
       2019-03-11 08:41:42 +08:00
    公司测试服务器都是阿里云 我们根本没有权限只有个 ftp 请问如何使用 git 啊?
    chniccs
        30
    chniccs  
       2019-03-11 08:46:01 +08:00
    我目前在的这家公司(家乡 5 线城市的小公司),在我来之前的 4 年,一直是没用过,直接拷的。虽然我是个前端,但是也建议了他们用上了 git。。。
    falcon05
        31
    falcon05  
       2019-03-11 08:48:12 +08:00 via iPhone   ❤️ 1
    经历过,有些时候小公司很难推广版本控制啊,主要是人的水平参差不齐,你说用 git,其他同事压根不会甚至没有听说过,然后不是一天到晚问你怎么用就是抗拒心理,烦
    xiao6zi
        32
    xiao6zi  
       2019-03-11 08:48:36 +08:00
    我一般自己的项目一人分饰两角。白天装成 leader 发布任务或 issue, 晚上回家变身小组员解决 issue,commit 上线。😂
    chniccs
        33
    chniccs  
       2019-03-11 08:48:50 +08:00
    @18601294989 webhook 嘛
    yulitian888
        34
    yulitian888  
       2019-03-11 08:49:02 +08:00
    因为培训班不教
    GuangXiN
        35
    GuangXiN  
       2019-03-11 08:49:03 +08:00 via Android
    @18601294989 git 本来就是给你本地版本管理的
    x86
        36
    x86  
       2019-03-11 09:01:42 +08:00
    小公司多数以本地调试版本为准,本地测试好了给上头看没问题就 ftp 上去了
    hushuikun
        37
    hushuikun  
       2019-03-11 09:02:06 +08:00 via Android
    @yulitian888 教的
    tadtung
        38
    tadtung  
       2019-03-11 09:18:58 +08:00 via Android
    @tourist2018 初创公司,只有 6 个员工,实际工作都是围绕 boss 转的,这种情况,实际上用 u 盘远比 git 方便。
    jasonB
        39
    jasonB  
       2019-03-11 09:19:15 +08:00
    “难道不应该招一个懂技术的产品经理来审查一下项目代码质量” ??????
    CSwater
        40
    CSwater  
       2019-03-11 09:20:08 +08:00 via iPhone
    还没毕业的时候,Git 和 GitHub 傻傻分不清楚,知道版本控制这个概念,但又不知道具体怎么回事,还是备份好理解。到公司实习一段时间就治好了。

    说白了,就是公司舍不得花钱,招了一群不知 Git 为何物的毕业生。
    opengps
        41
    opengps  
       2019-03-11 09:21:55 +08:00 via Android
    @pkokp8
    @DefoliationM
    真不是我要杠,二线很多程序员,大学没好好学,学过的也不是 git,而且还懒得用,在二线不用版本控制的野生程序员还是很多的,就连我都是工作一年后,误删了几次重要代码才开始重视起来用的 svn
    softempire
        42
    softempire  
       2019-03-11 09:28:53 +08:00
    就算只有一个开发,也要上版本管理。我的意见是,即使不是开发,需要文档管理的也上 git
    yuyu2140
        43
    yuyu2140  
       2019-03-11 09:49:03 +08:00
    还见过用 zip rar 进行 “版本管理” 的公司
    yao978318542
        44
    yao978318542  
       2019-03-11 09:49:05 +08:00
    主管不同意 比能掀起多大的浪 想想都快哭了出来
    zealinux
        45
    zealinux  
       2019-03-11 09:52:18 +08:00
    不用版本控制的技术公司,
    我估计公司数量要超过 50%
    telami
        46
    telami  
       2019-03-11 09:52:55 +08:00
    这些都是真的么。。。
    guoyuchuan
        47
    guoyuchuan  
       2019-03-11 10:03:18 +08:00
    6666
    wangxiaoaer
        48
    wangxiaoaer  
       2019-03-11 10:04:31 +08:00
    小伙子,是时候站出来了。
    justfindu
        49
    justfindu  
       2019-03-11 10:07:14 +08:00   ❤️ 1
    生存远比你的代码管理的好看要来的重要得多 老板需要考虑的是什么, 那就是活下来, 给这几个员工开工资, 让他们干活. 这几个员工考虑的就是赶紧干, 管他呢, 项目结束就好, 能用就好.
    sam014
        50
    sam014  
       2019-03-11 10:27:06 +08:00
    这个绝壁是真的,深受其苦, 前段时间还在推进这个事。。。。。
    5yyy
        51
    5yyy  
       2019-03-11 10:31:15 +08:00
    哈哈,公司就我一个后端一般是怎么开心怎么来
    Eugene1024
        52
    Eugene1024  
       2019-03-11 11:01:17 +08:00
    小公司老板只看结果,项目出来是不是这样,谁管你用什么技术,你没备份老板都不知道
    jimrok
        53
    jimrok  
       2019-03-11 11:05:16 +08:00
    在中国太正常了,不光是 IT,哪怕制造一个螺丝钉,也是这样。不同的公司自然有些生存的办法,也有往上爬的妄念。
    crist
        54
    crist  
       2019-03-11 11:12:15 +08:00
    我就直接 ssh 在线改,咋滴,不服啊,不服就是干!
    cuzfinal
        55
    cuzfinal  
       2019-03-11 11:15:38 +08:00
    我见过的最垃圾的公司也用个 svn 啊
    zephyru
        56
    zephyru  
       2019-03-11 11:25:00 +08:00
    啊,我想起来我刚毕业进的小公司也干过这事.....不过我们先进一点没有用 U 盘而是建了一个 QQ 群....
    stzz
        57
    stzz  
       2019-03-11 11:26:11 +08:00
    懂技术的产品经理:???管我屁事
    realshuai
        58
    realshuai  
       2019-03-11 11:39:10 +08:00
    我就说现在的 v2 越来越像以前的 nga、贴吧,一群自命高端的(其实这些人对社会没什么经验)不分青红皂白就鄙视别人。但要想鄙视别人,先要了解别人好吧。

    同样是软件公司,也是针对不同行业的,就像上边说的嵌入式或者设备编程,工具不同,代码自然不同。

    试问百兆,或者千兆大小的项目备份,调试期间一天改八遍你给我 git 一下看看?
    liuzelei
        59
    liuzelei  
       2019-03-11 11:48:55 +08:00
    @realshuai 这位哥们明显是不明白啥是版本控制工具还非要强答的。本来这种工具就是为了应对你这种一天改 8 遍的场景的。千兆算个什么?另外你如果不把二进制 artifact checkin 到版本控制工具,你的 codebase 哪里来的千兆?
    myvin
        60
    myvin  
       2019-03-11 11:54:10 +08:00
    不管大公司小公司,就算是个人开发版本控制也是很必须的吧
    realshuai
        61
    realshuai  
       2019-03-11 11:54:21 +08:00
    @liuzelei 你就是我说的“一群自命高端的(其实这些人对社会没什么经验)不分青红皂白就鄙视别人”的人,你去身边了解一下嵌入式编程或者设备编程再说。
    zhang2e
        62
    zhang2e  
       2019-03-11 11:55:09 +08:00
    @realshuai #58 难道版本控制工具就只有 git ?项目文件过大,就是你不用版本控制的理由?
    liuzelei
        63
    liuzelei  
       2019-03-11 11:57:07 +08:00
    @realshuai 哦对,git 还有 git-lfs,可惜你因为不了解,不知道该怎么用。另外我作为一个软件工程师,鄙视一下不会版本控制工具的人,这点逻辑上还是说得通的。
    realshuai
        64
    realshuai  
       2019-03-11 12:03:27 +08:00
    @zhang2e 没说不版本控制,但是一个劲的鄙视 rar zip 又有何意义?
    @liuzelei 建议深造一下,不管是形式逻辑还是其他逻辑,你的鄙视都毫无逻辑。
    liuzelei
        65
    liuzelei  
       2019-03-11 12:08:19 +08:00
    @realshuai 行吧你就继续别用。加了个油的。
    realshuai
        66
    realshuai  
       2019-03-11 12:12:34 +08:00
    @liuzelei 你的逻辑真的怪,我什么时候说过我不用的。
    agdhole
        67
    agdhole  
       2019-03-11 12:12:57 +08:00 via Android
    office 不是几百 g 的代码也用版本控制么?
    qq316107934
        68
    qq316107934  
       2019-03-11 12:23:56 +08:00
    @realshuai
    @liuzelei
    看得一脸懵逼,这哥们真的不是在论证 rar 不可取么?千兆文件每次都打一次包备份然后命个名,时间要多久文件要多大? git 增量一下感觉既节省时间又节省空间...
    azh7138m
        69
    azh7138m  
       2019-03-11 12:31:03 +08:00
    @opengps
    > 刚毕业的时候根本不知道这是个啥,当然不会采用
    > 懒得用

    那建议不要做开发了
    wenzhoou
        70
    wenzhoou  
       2019-03-11 12:37:16 +08:00 via Android
    58 楼把楼带歪了
    jabin88
        71
    jabin88  
       2019-03-11 13:25:12 +08:00
    “难道不应该招一个懂技术的产品经理来审查一下项目代码质量” ??????
    linhaijian
        72
    linhaijian  
       2019-03-11 13:27:15 +08:00
    @jabin88 估计想说项目经理吧
    xnode
        73
    xnode  
       2019-03-11 13:32:38 +08:00
    个人写点小东西 用 ssh+vim ,大东西用 svn
    zjyl1994
        74
    zjyl1994  
       2019-03-11 13:43:20 +08:00
    凑合过吧,呆不下去就走。我在之前公司推 git 一帮人问我怎么用,最后还是 qq 直接发 rar
    yulitian888
        75
    yulitian888  
       2019-03-11 13:48:00 +08:00
    @hushuikun 我前后在 IT 培训行业混了十几年,基本都是学生快要就业之前临时找点卖点给学生做包装的时候讲一下而已,也就忽悠一下面试官的水准。能达到“知道”的水平就不错了,远远谈不上“会用”。做得最好的,也不会超过 8 个学时,能做到 4 个学时就算老师有良心的了。
    至于不教的原因,我倒是能说出个子丑寅卯来。
    其一,教学环境一般是要装还原的,每次都去同步代码不光麻烦,还对局域网有流量压力,毕竟很多教学环境还是百兆局域网。另外,额外增加 SVN 服务器资源,对教学成本有一点点额外的开销。另一方面,为什么教学环境要装还原卡?因为学生的 U 盘常常带毒。把东西换成 SVN,会发生什么,你猜?另外,我们以前试过装 FTP 给学生用,结果不久之后就出现了 H 图和小电影。
    其二,教学以知识点教学为主。知识点是每个人都要练的,不会设计成团队分工,加上版本控制没有好处。
    其三,我曾经安排过试点班里教过。能把版本分支模型和冲突合并这两件事情弄明白,至少需要练习 20 学时,而且学生完全是云里雾里的状态。因为他们没参与过真实地团队项目,根本对 trunk、tag 和 branch 无法理解。
    niweicumt
        76
    niweicumt  
       2019-03-11 13:48:43 +08:00
    看起来有点匪夷所思,但我觉得公司最重要的是先把业务继续下去,企业能活下来,LZ 说得这种问题反而是次要的比较好解决的。
    另外"难道不应该招一个懂技术的产品经理来审查一下项目代码质量",这点就奇怪了,产品经理的职责里不该有审查代码质量,代码再烂只要做出的功能复合产品要求就够了。
    除非小公司里吧产品和技术管理者的角色放都是同一个人承担。
    sazima
        77
    sazima  
       2019-03-11 13:50:28 +08:00
    我也有两个新同事没用过 git.
    qsbaq
        78
    qsbaq  
       2019-03-11 13:51:40 +08:00
    吃惊~~~
    abuzzworld
        79
    abuzzworld  
       2019-03-11 13:52:11 +08:00
    @opengps 二线还有不会用 git 的?培训班出来的也会用 git 吧。只有刚大学毕业并且也没有任何经验的才不会用 git 吧
    checkzhzzzzz
        80
    checkzhzzzzz  
       2019-03-11 13:56:16 +08:00
    楼上 U 盘比 Git 方便都来了
    merpyzf
        81
    merpyzf  
    OP
       2019-03-11 13:58:28 +08:00 via iPhone
    @niweicumt 描述的有点问题,应该是技术主管
    Canon1014
        82
    Canon1014  
       2019-03-11 14:01:15 +08:00
    眼看着一群人撸起袖子要开撕,不用就不用呗,又不吃我家米饭
    zlhsvc
        83
    zlhsvc  
       2019-03-11 14:19:50 +08:00
    不用就不用呗,这个领导说的算
    Moorj
        84
    Moorj  
       2019-03-11 14:24:22 +08:00
    这难道不是一个升职加薪的好机会吗?
    elvis404
        85
    elvis404  
       2019-03-11 14:42:02 +08:00
    平时自己做些记录都本地 git init 一个仓库,方便回溯删掉的东西。一个版本控制不难吧。。。
    dosmlp
        86
    dosmlp  
       2019-03-11 15:10:32 +08:00
    就俩人的话 U 盘拷贝合并也够了吧
    karllynn
        87
    karllynn  
       2019-03-11 15:24:35 +08:00
    草台班子多得很
    ryonanamizu
        88
    ryonanamizu  
       2019-03-11 15:25:11 +08:00
    我连不会写累加的程序员都见过,从 1 加到 100 不会写。
    让这种人学 git 不如要他命
    virus94
        89
    virus94  
       2019-03-11 15:28:25 +08:00
    这种公司的业务只有一个要求,项目能跑起来就行,哪里还管版本控制
    18601294989
        90
    18601294989  
       2019-03-11 15:35:14 +08:00
    像我们就比较 nb 了 直接 ftp 在线上改
    holy_sin
        91
    holy_sin  
       2019-03-11 16:10:46 +08:00
    用 u 盘同步,挺牛逼的
    tabris17
        92
    tabris17  
       2019-03-11 16:15:26 +08:00
    总比那些在 github 上建个 repo 把公司项目开源了强吧
    amumu666
        93
    amumu666  
       2019-03-11 16:25:20 +08:00
    实习的时候还真去了这样的公司。代码都是打包给他,他有选择的覆盖。我提议用 git 他给我谈学习成本,转正的时候果断走了。
    BORBER
        94
    BORBER  
       2019-03-11 16:29:21 +08:00 via Android
    @tabris17 这个最牛批
    BORBER
        95
    BORBER  
       2019-03-11 16:32:18 +08:00 via Android
    现在大一 软工 很庆幸自己上学期给自己下死命令学 git 结果 就一天 三个小时 基本操作都会了 即使不会的 要用的时候 GOOGLE 一下也立马能用 说学习成的连三小时学习 收益一生的事都觉得成本太高?
    randyzhao
        96
    randyzhao  
       2019-03-11 16:56:27 +08:00
    这个操作很骚了
    但是,给的钱多我可以去。
    likuku
        97
    likuku  
       2019-03-11 17:13:24 +08:00
    这有啥奇怪的?

    很小的初创公司,创始人不是大厂职业程序员出身,开发人员就两三个,每人独立负责一个独立项目,没有多人协作开发的必要,就怎么顺手怎么来了呗。
    likuku
        98
    likuku  
       2019-03-11 17:16:03 +08:00
    @BORBER 世界很大,各种不同的人很多,业内就算有“跨越时空般不同习惯”的人并存在当下同一时空也不奇怪。
    lingo
        99
    lingo  
       2019-03-11 17:25:57 +08:00
    即使只有一个人也应该使用版本控制啊。
    不是说不需要协作就不用,好好看“版本控制”这四个字。。。
    marsgt
        100
    marsgt  
       2019-03-11 17:57:06 +08:00
    这很正常,没啥好奇怪的。
    就好像文职或者是搞设计的,好多人都知道要随手 Ctrl+S,但如果没惨痛经历的话,没人会管这是个什么东西。(可能出于礼貌还是会表示接受,但是不会去用的)

    改变是需要一个理由 /动力的。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:14 · PVG 04:14 · LAX 12:14 · JFK 15:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.