Git 到底算不算程序员必备技能?

2023-01-31 0 456

Git 到底算不算程序员必备技能?

即使各种其原因,亚洲地区SNS网络平台有关 Git 和其他版管理辅助工具的口水仗一直出不来,即使管理辅助工具是必不可少市场需求,所以开发人员热衷于迳自抒发他们的观点:

Git 到底算不算程序员必备技能?
Git 到底算不算程序员必备技能?

不论是他们写标识符还是在民营企业组织工作,管理辅助工具都是开发人员的必不可少专业技能。经过十多年发展,现在采用比较广为的管理辅助工具辅助工具有 Git、SVN、Perforce、Hg、TFS 等。可能将是由于 Github 和 Linus 的其原因,Git 成为非主流分布式系统管理辅助工具系统,但亚洲地区鲜有还在采用 SVN 的小型网络民营企业。在此种情况下,开发人员有必要性花天数自学 Git 吗?

Git 与 SVN 对照

虽然有很多管理辅助工具辅助工具,但 SVN 和 Git 是采用覆盖范围最广为的封闭式和分布式系统辅助工具代表者。就对个人开发者来说,不能采用 Git 意味著难以充分运用 Github 这个全球最大的开放源码中文网站,总之,对个人一般来说不能优先选择商品化管理辅助工具辅助工具。在此种大背景下,假如所处子公司采用 SVN,对个人开发人员与否有必要性花天数自修 Git 呢?

总之,可能将会没人批评:2019 年都到了,还有子公司在采用 SVN 吗?标准答案是不但有,而且许多,比如说百度。归根结底,Git 和 SVN 但是是两个管理辅助工具管理辅助工具,并没有别的一定更快的讲法,甚至部分开发人员但是是把 Git 当作 SVN 在用。

本控制技术的众所周知是必须互联才可以组织工作,假如是定域网说实话,频宽够大,速率太慢;假如是网络且下载速率较快的话,递交两个 10M 文档可能将就需要 5 两分钟。总之,所致安全可靠等各方面不利因素考量,民营企业外部有他们的定域网很正常。

Git 是分布式系统管理辅助工具的代表者,没有明确的中央服务器概念,每个开发人员的电脑上都有完整的版库,只需要将更改互相推送给对方即可。一旦其中某个版丢失,只需要从其他电脑上复制一份即可,相当于互相备份的概念。

相比 SVN,Git 的最大优势可能将是分支管理,这非常契合开放源码项目的市场需求,但许多采用 Git 的开发人员没有最大限度利用这一优势,亚洲地区开发人员对开放源码社区的贡献也相对较低。SVN 的主要优势是目录级别权限控制,可以 Checkout 子目录,方便子公司或团队管理,许多云供应商也提供云端的 SVN 相关辅助工具。

SVN 与 Git 的采用场景本身不尽相同,因此并不存在高低之分。但就现状来说,开发人员与开放源码项目的接触越来越多,民营企业也越来越喜欢采用开放源码项目,即便子公司外部采用 SVN,但 Git 也会成为开发人员的一项必不可少专业技能,毕竟在 Github 上互相交流是需要的,但 Git 在实际采用中还是存在很多问题。

Git 存在的问题

Git 本身的复杂性就不在此赘述,基础入门可能将只需要简单培训,但要想熟练采用并挖掘最大优势着实需要费一番功夫,即便是 Git 专家也不能轻易推荐开发人员采用 Git 作为入门辅助工具,很多经验丰富的开发人员采用 Git 时也需要查看帮助。OOPSLA16 有一篇论文专门分析了 Git 的问题,MIT 计算机科学和人工智能实验室的研究团队设计了一款叫做 Gitless 的新辅助工具,感兴趣的可以自行搜索。

在存放巨型项目、小型二进制文档以及嵌套方面,Git 一直存在问题。GVFS、Git LFS 倒是可以解决现阶段的部分问题,但性能和生态支持还不足够。此外,Git 的概念是比较清楚的,但指令非常混乱,Git 没有中央控制服务器,GitHub 和本地 Git 库平等,没有针对目录和文档夹的权限控制。由于两边对等,所以 push、pull、remote branch 这些概念其实很麻烦,用起来也不方便。

只能说,Git 目前确实存在一些问题,但这些问题不影响开发人员的常规采用。反之,假如只是把 Git 当作 SVN 用,并没有发挥 Git 的优势。

总结

通过SNS网络平台的言论对照,大部分程序员认为即便子公司采用其他管理辅助工具辅助工具,对个人还是很有必要性自学 Git,毕竟采用开放源码项目难免需要在社区交流探讨问题。但是,无论优先选择哪款辅助工具都没有高低贵贱之分,采用 SVN 也不代表者落后;其次,Git 目前的支持越来越完善,周边生态也逐渐强大,已经成为非主流优先选择,所致日后的职业发展考量,开发人员起码应该先行入门 Git。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务