什么是源代码管理工具

一.为什么会出现源代码管理工具?

答:为了解决软件开发过程中,由源代码引发的各种繁琐的问题

二.源代码会引发哪些问题?

答:1).无法后悔:

如果发现了写错了,撤销或删除也可以,但是如果程序中增加了一个功能可能有100行代码,然后在程序的其他地方进行调用,那这个时候我们就不好找了。
command + z有个局限性,关闭再打开就没法了。
或者备份也可以,写错了,删掉,但是这时候也有问题,每次写一个功能都备份一份,每次写一个都备份一份。这样可能不清楚每一个文件增加了什么功能。备注功能也行,但是还是有问题:比较麻烦
文件展示比较乱。而且在实际开发中没办法每次都备份一份。
正常情况下,每写一个功能就备份一份,这样容易忘掉。

2).版本备份:费空间,费时间
3).版本混乱:因版本备份过多造成混乱,难以找回正确的想要版本
4).代码冲突:多人操作听一个文件(团队开发过程中常见的问题)
5).权限控制:无法对源代码进行精确的权限控制
6).追究责任:出现了严重的BUG,无法得知是谁干的,容易耍赖

三.源代码管理工具的作用:

1).能够追踪一个项目从诞生到一直定案的过程
2).记录一个项目所有内容的变化
3).方便查阅特定版本的修订情况
源代码管理工具可以判断每一行代码里面每一个字符是谁写的。

使用源代码管理工具:
* 由于使用简单,不会增加工作量。
* 不会对现有工作造成任何损害(坏的影响)
* 是一位合格的软件开发人员必须掌握的技术。

源代码管理工具的应用

1、小作坊:每个开发人员电脑上有自己的代码。硬盘坏了,欲哭无泪。安全意识强一些的公司会要求开发人员将代码隔一段时间放到一个集中的计算机上,以日期为文件夹进行备份。问题:如果备份不及时代码仍然会有部分丢失;过多的备份文件夹大部分内容是重复的会造成磁盘占用;无法做到多个人开发一个项目;无法对比两个版本的差异;代码改坏了,想回退也麻烦。

2、正规开发团队:使用源代码管理(SourceControl)工具,源代码管理工具主要作用:代码版本管理、多用户并发修改管理。常用工具:VSS(Visual
SourceSafe,简称SourceSafe)、TFS(Team Foundation
Server)、CVS、SVN等。前两者都是微软的产品,也是.net开发最主流的两种源代码管理工具,VSS适合于几个人的小团队,VSS只能进行源代码管理;TFS适合大团队,不仅包含源代码管理,还支持Bug管理、文档管理、持续构建等。CodePlex上可以申请免费的TFS服务器空间(不用担心自己的代码丢了)。

3、使用步骤:安装(搭建服务器)。安装的时候其实是安装了客户端和服务器了。注意区分,别点错了。

引用链接: https://blog.csdn.net/qq_34573534/article/details/100560082.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

1,主流:git

什么是git?
git是一款开源的分布式版本控制工具
在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的

git的起源
作者是Linux之父:Linus Benedict Torvalds
当初开发git仅仅是为了辅助Linux内核的开发(管理源代码)

git的现状
一款伟大的分布式源码代理管理工具
在国外已经非常普及,国内并未普及(在慢慢普及)
越来越多的开源项目已经转移到git

引用链接: https://www.cnblogs.com/laugh/p/6807745.html.

其他版本控制工具

2,CVS

最早的开源、免费的集中式版本控制工具,但自身设计有问题,会造成提交文件不完整,版本库莫名其妙损坏的情况
(开启版本控制之门1990年诞生,"远古时代"的主流源代码管理工具

3,SVN

全称是Subversion:集中式版本控制之王者是CVS的接班人,修正了CVS的一些稳定性问题,是目前用得最多的集中式版本库控制工具,速度比SVN快,功能比CVS多且强大。在国内软件企业中使用最为普遍。
SVN的基本操作

  • 安装服务器端
  • 双击进行安装,路径默认的就好,
  • 使用环境:
    • 要想利用SVN管理源代码,必须得有2套环境

    • 服务器:

      • 用于存储客户端上传的源代码
      • 可以在Windows上安装Visual SVN Server
      • 大部分情况下,公司的开发人员不必亲子搭建SVN服务器
    • 客户端:

      • 上传本地代码到服务器,或者跟新服务器的代码到本地,保持同步
      • 可以在Mac上使用命令行、Versions、Cornerstone
      • 开发人员就属于客户端这个角色

SVN的基本操作

  • 安装服务器端
    • 双击进行安装,路径默认的就好,

SVN与CVS比较

1 对重命名、删除文件的支bai持
cvs:不支持本地du文件重命名提交zhi
删除分remove和erase两种前者把本dao地和库中文件都删除 后者只是删除本地文件
不能删除文件夹
svn:支持文件重命名提交系统会提示删除旧文件,创建新文件
删除本地文件提交 库中文件也被删除
2 对中文路径名的支持
cvs:支持的比较好
svn:要将权限控制文件保存为svn支持的UTF-8格式
3 本地文件与库的对应关系
cvs:可以多对多
svn:一个库可以有多个工作目录但一个工作目录只能对应一个库 虽然可以更改库位置但是要求很严格
4 库中文件存放方式
cvs:完全用户可见方式与客户端文件夹结构完全一致(cvs生成文件除外)
svn:与vss相似,看不到文件真正的内容
5 用户、权限管理
cvs:管理员很难清楚的知道一个项目到底有多少个用户各用户的权限和密码是什么 只能用分组的方式管理用户而且密码和权限还是不清晰
svn:查看、修改配置文件即可
6 权限
cvs:有read、write、creat、none这四种权限,任何人不能删除文件夹(admin也只能跑到服务器上把相应文件夹残忍删除?我暂时只知道这个方法……汗-_-‖)
svn:只有read、write、none三种权限 creat和delete权限好象和write是捆绑在一起的

更多可参考链接: https://www.cnblogs.com/legou/articles/1871503.html.

4,ClearCase

收费的集中式版本控制工具,安装比Windows还大运行比蜗牛还慢
能用ClearCase的一般是世界500强,他们有个共同的特点是财大气粗或者人傻钱多

5,VSS

微软的集中式版本控制工具,集成在Visual Studio中

VSS、SVN、Clearcase的区别

  1. VSS 的使用简便易学,但 VSS 的功能和安全性较弱,且只对 windows 平台进行支持,建议作为项目配置管理的入门时采用的工具;
  2. SVN 的安全性和版本管理功能较强,可以实现异地开发的支持,但 SVN 安装和使用多采用命令行方式,学习曲线高,同时不提供对变更管理的功能,对于小型团队,可以采用 SVN 进行管理。
  3. ClearCase 功能完善,安全性好,可以支持复杂的管理,但学习曲线和学习成本高,需要集成 ClearQuest 才能完成完整的配置管理功能。大公司如果采用异地多研发中心同时开发的模式,一般推荐使用ClearCase。

引用链接: https://blog.csdn.net/zhourui1982/article/details/4871896.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

6,TFS:

TFS是一种为 Microsoft 产品提供 源代码管理、 数据收集、 报告和项目跟踪,而为协作 软件开发 的项目。 可作为独立的软件,或 Visual Studio Team System (VSTS) 在服务器端后端平台。

TFC与GIT的区别

TFS 定位并不是源代码管理,而是一个团队工具,贯穿需求,开发,测试,发布各个流程提供自动化工具。
GIT 出来的目标是支持多人同时维护庞大的开源代码(linux),所以它的分支能力特别强大,体验特别好。加上支持离线提交,分布式推送拉取,使得代码层面的协作相当流畅。

引用链接: https://www.cnblogs.com/onemx/p/12973203.html.

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐