当前位置: > 城市资讯 >

百度、阿里、腾讯之类的大公司用Git吗?他们如何管理源代码?

文章发布时间:2015/7/3 11:18:22 来源:



王石川:开豪华游艇征税,牛!(珠江晚报2011-9-25)金正恩去哪了?无法停止的心痛,麻木不仁的短语如何使安卓AVD虚拟机在Windows下以大于768MB的内存启动?调研报告:西部农村人口老龄化导致农业倒退

佐洱忆香港回归前中英智斗诸多细节首次揭秘钩针打底毛衣荡领健康享清凉美味纯手工自制冰淇淋柳传志碰到福特聊什么幻彩花色背景图片◆200例怎么样的毕业生才算合格的系统工程师?怎么做才叫浪漫啊?浪漫的定义是什么?懂得沉淀,是另一种风情怎么看今天雷霆和马刺的比赛?雷霆真的是克马刺吗?中国当今为孩子起名择字频率最高的字贪者受骗【淡品美女11655】天使美眉一念心清净,莲花处处开銆愯浆杞姐€戝崍澶滃奖闄紙楂樻竻椤剁骇澶х墖姹囬泦锛?#(财经专线)(2)7月中国制造业PMI为50.0%钀у姛绉︼細涔犺繎骞虫柊鏀挎槸鏂版潈濞佷富涔夊己鍖栫増辩题。挖掘人才是否需要考试?试论哈萨克斯坦的能源外交这个赛季的罗马为什么这么猛?绝美小提琴选集…【音乐典藏】是不是差不多所有的过错,都是源于无知或者没有教养?民歌天后.军旅歌手杨紫萍《难忘经典》20首【FLASH绝品音画】让感冒痊愈的最佳对策有哪些?“藏”与“露”(段奇清)量子物理中最不可思议的理论是什么?优美散文欣赏——家乡的秋天《单词象形构词法》第四本【喜爱的花样衣】麻花插肩//美濡傝姳闈掓槬涔嬫紓浜?揭秘北京罕为人知的富人区:不只是奢华豪宅陆琪:转角的爱情心真,心善,心美,心诚【中学生学习技巧分享】“做笔记”是门学问延迟退休缓养老金压力引争议超七成调查者反对修建水库后会对下游河床造成哪些影响?邓颖超临终前究竟想对李鹏说什么?中国网游的明天在哪里?PhotoshopCS6工具箱:转换点工具实例详解教程揭秘腿模收入比裸模高的真相【精美图文】人生十二悟

婚姻真相:婚姻不是爱情片而是动作片中国留学生在海外该怎样保护自己?你会爱我到什么时候【音画】【精美图文】人生十二悟

相关问题:


如果不是,那他们是怎么管理源代码的?
1 如果某一个人知道公司的所有源代码,那他是不是可以直接带走源代码?
2 如果用git管理,那每一个员工都有机会复制走所有代码是吗?

网友回答:


百度、阿里、腾讯之类的大公司用Git吗?他们如何管理源代码?华为用的是SVN。
SVN的权限控制,可以控制到目录的。你可以访问到哪个级别的代码,都是可以控制的。
另外,以华为的内网安全措施,周身遍布摄像头,电脑遍布监控软件,访问外网严格受限,所有USB接口和网口贴封条,封条上还有什么镭射喷码之类的东西,封条被撕过是可以看出来的,安全管理员定期检查封条。根据安全等级区分绿区、黄区、红区,区域之间物理隔离,访问安全级别更高的区要通过专用远程登录软件,连截屏软件都被禁用。这是一个为了信息安全不惜牺牲效率的企业。这么严格的管控措施,你还想偷偷拷走代码?当然,曾经有神人做到了,比如通过示波器的USB口。现在的安全措施又比我在的时候严格了很多。这种事情越来越不可能发生了。
一个在华为待了9年的人,离职时都忍痛放弃拷走多年的照片,这是即使走流程申请都几乎不可能做到的事情。谁知道,你图片中是否隐藏了什么保密信息呢?
另外,即使你不小心拥有了不该有的权限,你下载了一些不该拥有的文件。电脑上还有个监控软件,叫关键资产扫描。这个软件也是不能关掉的。安装时,会全盘扫描一次你的电脑,每周还会定时全盘扫描一次,看看你电脑中是否有超出你权限之外的文档和代码,如果有,要么删除,要么申请权限。


答友:阿里早年svn,去年全线上git,自建Gitlab对接内部权限管理,挺安全的没什么问题。

现在应该只有极个别业务因为特殊原因仍然停留在svn,按现在的趋势,应该很快就没svn了。


答友:Facebook 有两套代码库,前端(包括php)和后端(各种服务)
前端是SVN+Hg(SVN是历史原因。之前用过Git,效率问题放弃。代码库太大。后来向 Hg 迁移,但始终没有弄好,导致现在两个系统并行),后端是Git
任何一个员工,包括实习生,都有访问所有代码的权限。但公司内部有监管。因为开发是ssh到开发服务器写,若是你clone了一个git代码库到本地一定是有人来问的。
BTW,Instagram 用的是 Git,代码之前在 GitHub 上,后来挪到了 Facebook 的开发服务器。

Google 用的是 Perforce,所有的服务都在一个 repo 里(除了极少数大开源项目,比如 AOSP,Chrome),后来自己做了个兼容的版本(Google 很有可能是世界上最大的单一代码库),同样每个员工都有访问全部代码的权限(除了极少数极敏感代码,例如排序算法)。


答友:像BAT,这种互联网公司,除了某些核心应用的代码比较好。
其他业务应用的代码,都烂出翔了。
你就拷走呗。你能运行起来再说。。

----------------
其实再补充一下吧。
想这种互联网大公司啊,其实能让你拥有大部分代码的权限是有好处的。
比如说,大家写得业务接口都那么烂,你不看看别人实现你敢用吗?你怎么知道没有坑?
有文档?有注释?你敢信吗?最大的坑就在这文档和注释上啊!


答友:渣浪用的是svn


答友:美团所有项目都使用Git。代码协作工具是Stash,类似在Github上的开发方式。两者都非常高效好用。


答友:其实吧,多数情况下,你拿到全部代码也没什么意义。

死的代码没用,软件的要素还是在人,拿到一份无人维护的代码其实意义不大,必须要有人不断的维护才有价值。

而一旦你需要开个公司,招人维护这份代码的情况下,问题就来了:大公司一般都有一些核心的库,所有代码都会依赖这些库,你偷来这些代码,想要不依赖这些库非常困难,除非你完全重构,那跟自己重新写一份代码已经差不多了。假设你直接用它的话,任何来你公司写代码的人看到这个库,使用这些库函数的时候都可能会知道你这个代码是偷来的,你很快就被举报了,这有意义?


答友:不管git还是SVN都是有权限管理的,每个人都只有一部分代码的权限,没有人有全部权限,即使是技术部门大老板,也没有全部代码权限,因为他都不写代码,他为么要权限?

各业务线都在维护着自己的代码,为了效率和安全性,提供给公司其它合作部门的大部分是库,没有源码。这样的情况下,你即使将一个能运行的程序拷走了,里面也是各种库,不能更改。
淘宝的ios代码,之前都在svn上,从去年开始逐渐越来越多的转到git管理,而git服务器是公司统一提供的,再加上ios app里第三方库,用pods进行管理,能拷走的源码更少了,这应该是一种趋势,况且git + pods 确实非常好用。

所以能拷走全部源码的情况几乎不可能发生,因为即使大部分功能开放源码,一部分基础核心功能还会是库,比如:登录、加密、安全相关的功能在哪个公司都是库。再加上代码的网络接口都是访问的公司服务器接口,拿走了能用性很低。

之前在360时代码用svn管理,离职时光svn操作记录签名就签了半小时。


答友:为什么一提到git大家就觉得高大上呢?我看到 git 的第一反应就是“这玩意管理不了太大的源代码库”……

我工作过的IC公司都是用perforce来管理源代码的。Git一直鼓吹的所谓“分布式源码管理”,对某些类型的项目可能很好用(我的一些个人小项目也用git),但是对上千人合作,动辄几十G的大项目就是灾难。别的不说:

1. Git的做法是对每个revision都保存完整快照,而我们一份快照就是几十G,这还是我特意裁剪了client view只包含最必要的代码的情况下 ……
2. Git可以离线check-in,等到联网的时候再统一归并到中央代码库里。我们用perforce是每个修改都check-in到中央代码库。我们有一个专门的团队,由不止一位20年以上经验的老工程师压阵,专门解决check-in代码冲突和regression的问题。即使这样每天十几个breakage都很常见,芯片finalize之前的merge和integration更是动用惊人的人力。如果用Git的话,如果碰巧有个工程师一高兴,两个星期不push,那等他push的时候,会merge死人的。但是如果Git也强制每个checkin都push的话,跟Perforce又有什么区别……

所以对真正的“大”项目来说,我不知道有没有git的成功实践。

最后,关于偷代码的问题,至少在我工作过的IC公司里,这不是个大问题。因为连我们自己都不能保证代码每时每刻都跑得起来……我不知道有没有别的公司蛋疼到偷我们50G的代码过去然后雇20个人把它修理到能工作……

=======================
补记:以下是针对下面回复的一些回复。我觉得很有普遍意义,所以一并放到答案里。
-关于“什么代码有50G”:IC设计的复杂性往往超过做软件的人的想象。50G真的没有夸张,当然这包括了IC的RTL设计代码,CModel,也包括了整个的测试环境、测试用例??真的有50G哦。
对了,为了测试方便,确实有一些二进制数据文件和预编译的库文件什么的也在这里头,纯文本的代码没有50G这么多,不过绝大多数还是代码。

-关于“这50G代码是不是比Linux Kernel还牛”。
首先,我开头就说了,git不适合管理大规模的代码库。Linux Kernel的代码规模,跟我的公司的代码规模相比,差太多太多了。
其次,git 适不适合,跟git管理的代码牛不牛,完全没有关系。你不能说因为宝马车很牛,所有的拖拉机都应该装宝马的发动机。同样,我说的是perforce比git更适合管理大规模的代码,而不是说perforce比git更适合管理的代码,更不是说perforce比git更
最后,下面问这个问题的朋友,我很不喜欢你字里行间透出来的这种 “You can you up, no can no bb” 的语气。请自重。

以上。


答友:UC: 文档用SVN,部分开始迁移到WIKI;源码之前用HG,现在很多小组都已经迁移到GIT。
gitlabhq.com/搭建的服务器,高仿版github,权限控制啥的都有。

至于担心源码被盗,个人认为除了一些核心的代码需要控制外, 其他的那些都没多大关系。
大部分有价值的东西都是文档和Idea还有人才。


答友:1. Git SVN都有用的。

2. 有的员工走的时候会把能拖走的代码都拖走,不是为了有用,我就是想留着纪念一下不行吗?我没想让它运行起来,也没想着再去查阅,我就是简单的拖走捎回家。

3. 公司一般不用担心员工把代码拖走,没需求没业务再好的代码也没用,而业务,是公司的。


答友:我厂用的SVN……自从用过一年多Git之后,再回头搞SVN简直是想死

不得不说SVN的权限管理是理论上很美,实际上呢……?什么权限都要申请,很影响开发效率的喂!而且SVN没有本地提交这种功能简直是反人类啊…

怒盼公司早日转到Git去


答友:

像我们这种一个软件几千人写了二三十年的,svn和git什么都没戏,只能用要钱的perforce。话说之前我们获得了windows的只读源代码权限,不过其实要偷跑也是不行的。因为perforce被我们魔改过,下载windows的代码会在你不知道的几个地方打上你的签名,泄露了就全世界都知道是你干的了。不过就算这样其实windows的代码也会泄露的,因为还有360啊、金山公司啊、卡吧死机这样的合作企业是可以获得我们的代码的,想想2000的代码基本上人手一份啊。


答友:简单地说,大型互联网企业的代码只适用于他们的规模,你拿到也没用,还不如标准的lamp(linux, apache, mysql, php)套件。

很久以前我也有这种疑问,后来意识到软件也好,人也好,都只是这个巨大“系统”的一部分,任何部份都不可能孤立存在,包括:足够规模的业务量,足够规模的硬件,网络带宽,电力供应,数据中心基础设施,维护团队,软件基础设施团队,业务应用团队,巨量的资本,政府关系,品牌形象,等等。

很难想象一个具有了大部分以上要素的企业会正好缺乏代码。企业不是空中楼阁,当它具有了这种规模的要素时,它的软件应该已经进化成适应它的样子了。


答友:网易以前都是svn,现在开始逐渐转用git。
我用过vss,clear case,svn,git,其中clear case最难用,git最好用,用过git就不想再用svn了。


答友:阿里内部用SVN,git太奔放了点,不容易驾驭啊。


答友:我所知道的,百度和腾讯用的是svn
至于拷走代码的问题,腾讯对svn代码是有监控的,之前抓到过离职前带走公司代码的行为。


答友:腾讯用的是SVN。其实用git也可以有权限管理的,比如gitolite(sitaramc/gitolite 路 GitHub)


答友:我待过的IBM编译器组用的是IBM自家的Rational Team Concert(RTC),先前是IBM自家的ClearCase,不过那个太难用了,就迁移到了RTC了。权限很严格,流程很规范,但是操作不是很顺畅,需要去适应。至于代码,你可以拷,但是泄露了自然会有人找你。不过其实你拷贝了也没用,一个是你基本上只能看到你所在职位的代码(如编译器前端就只有编译器前端的代码,编译器后端的就只有编译器后端的代码,所以有时候开会的时候我们还会聊这个代码你们编译器前端怎么做的,这个代码你们编译器后端怎么做的)二:即使你拷贝完了,你也跑不起来,因为首先你需要一台Power服务器或者大型机这样的东西.....普通码农你是买不起的.....当然,这个做开发是非常爽的,我现在最怀念的就是拿Power 7+的服务器狂开8个线程编译代码的那种速度...


答友:百度以svn为主,有部分团队使用git。
有一套代码权限管理系统,可以为单个人对具体svn路径设置不可读、只读和读写三类权限。
另外,有部分代码是开源的的,所有工程师都可以看到,只是大家都顾着写自己的代码还写不完呢,没时间看别人写的代码。

不管在什么公司,一套系统总是会有个超级管理员的,肯定超级管理员可以check out出来全部的代码。开发或者运维人员直接在机器上拷数据文件肯定也可以做到。不过会留下操作日志,当然真有心要想删除操作日志肯定也不是做不到。
如果真有员工想要窃取全部代码,保密监控措施做得再严密也没用,防君子不防小人而已。关键在于,要是做了严重违反劳动合同和职业道德的事情一旦被发现,恐怕职业生涯也走不长远了。


药物组成:桂枝15g 白芍15g 海藻50g 昆布50g 土苓50g

药物组成:桂枝15g 白芍15g 海藻50g 昆布50g 土苓50g



广告专栏

不存在相应的目录