代码管理工具 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

代码管理工具

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:37

说明

  • 使用代码管理工具(svn、git或者其它)管理代码是一件习以为常的事情,但是只知被动使用,却不知为何使用,容易引出很多异议,特记录下工作中的遇到的异论。

异论

小公司/小团队是否必要使用管理工具

  1. 事例
  • 之前在一家TP_Link出来创业的小团队,公司业务类似于方案商,给别的厂商做项目,因此项目较多,但是在工作中,代码管理竟然不使用管理工具,代码通过复制拷贝的方式来传递,每个人单独负责一些项目以减少代码交互,刚来时未在意,因此未对代码进行管理,工作一段时间后,我认识到这是不合理的,因此时常和领导反馈,但是并没有得到修正,最后反馈次数多了,领导的回答是:你就知道你认为,你认为(我是和他说我认为这是不合理的),我不要你认为,我要我认为,你要用你自己用就好了,你自己管理好就行了,就这么几个人你还能弄错吗?弄错了也是你能力不行。
  • 没多久我离职了,交接时被接手的员工骂惨,原因是,刚来时的修改很多我都不记得了,没记录了(后面我使用git进行了管理,前面一段时间的修改记录丢失了)。
  1. 个人结论
  • 代码必须使用代码管理工具管理,就算是小团队,甚至是个人,拿到未做管理的代码或者开始一个新项目,第一步就算添加进版本管理。

使用svn还是Git

  1. 事例
  • 之前在一家华为和腾讯出来创业的团队,公司使用svn管理代码,团队使用时并没有用到过多高级功能,但是随着项目的发展,需要使用到一些高级功能,例如:使用分支,但是由于svn的分支切换以及创建非常麻烦,分支创建相当于重新创建一个仓库,切换分支相当于重新拉取一份代码;在工作中使用svn也遇到一些问题,例如:无法获知所有改动,svn查看修改时默认显示当前目录下的代码修改,不会显示所有修改(可能一些复杂命令可以实现),故容易导致忽略一些代码的修改。
  • 因此svn使用过程中不是很愉悦,故学习了git的使用,被git使用震惊到了,感觉就是个人理想中的管理工具;因此推荐给领导使用,领导的回答是:在他眼里,git和svn是一样的,只是一个工具,不要把心思花在工作不相关的事情上。
  1. 个人结论
  • git和svn绝对不一样,svn我使用了多年(至少4年),总的来说git是svn的下一代产品,不是同一代产品,因此尽量选择git,虽然svn也能实现你的需求,但是当你明白自己的需求后,使用git会让你更快捷和方便以及贴心。
  • 有些传统公司依然使用svn,可以在代码仓库再git init一个仓库,代码是同一份,使用git管理,需要提交时,再通过svn提交。

个人总结

代码管理工具的作用

  1. 备份代码
  • 使用代码管理工具可以对代码进行备份,本地备份是不可靠的,电脑出问题容易导致代码丢失,最好保存多份,但是手动或其它方式备份容易出错。
  1. 记录修改
  • 记录修改了什么,什么时候修改的等信息,没有修改记录,时间长后容易遗忘。
  1. 加快效率
  • 工具可以加快工作效率,特别是需要分支,有冲突的情况时,好的工具比差的工具效率高。
  1. 避免出错
  • 需要分支时,有时会使用拷贝的方式,可能出现代码复制拷贝了多份,未及时删除未使用的,时间长未修改后,没有修改记录,不清楚哪份是正确的。

git与svn比较

  1. svn和git最大的区别是:svn 是集中式的,而git 是分布式的,有人说你明白了这点,svn与git 的区别就明白了一大半。
  • svn是集中式的:文件是服务器和 本地都有一份,但是代码的管理,都是由服务器来做的,意味着你只有连上svn服务器后,才能进行代码管理,网络断开后,svn无法做任何事,虽然一般是在局域网内使用,但是如果离开该局域网就无法做任何管理工作了。
  • git是分布式的:文件是服务器和 本地都有一份,可以推送给别人,几乎所有的操作都可以在本地操作。
  • git服务器和普通用户是平等的,甚至服务器是可以取消的,而svn服务器是核心,不可或缺的。
  1. 在断网的情况下,想要进行代码管理只能使用 git。
  2. svn更适合文档管理(可以单独下载任意文件),而git更适合代码管理(不能下载当个文件,有办法实现,但是比较麻烦)
  3. svn不是整个项目做管理,每个目录都有一个.svn来保存记录,查看修改默认只是显示当前目录的更改,因此你不能方便的查看整个工程的改动。
  4. svn太老了,git还年轻,svn没有多少扩展的工具,git有很多强大方便的扩展工具。

相关案例查看更多