文章目录

  • 什么是源代码管理工具
    • 一.为什么会出现源代码管理工具?
    • 二.源代码会引发哪些问题?
    • 三.源代码管理工具的作用:
  • 源代码管理工具的应用
  • 1,主流:git
  • 2,CVS
  • 3,SVN
  • SVN的基本操作
    • SVN与CVS比较
  • 4,ClearCase
  • 5,VSS
    • VSS、SVN、Clearcase的区别
  • 6,TFS:
    • TFC与GIT的区别

什么是源代码管理工具

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

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

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

答: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.

源代码管理工具 (git,CVS,SVN,Clearcase,VSS)相关推荐

  1. 源代码管理工具-GIT

    源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...

  2. 源代码管理工具GIT

    简介: git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源: 作者是Linux之父:Linux Benedict Torvalds ...

  3. 1.公司代码管理工具GIT与SVN

    想到啥说啥... 一般来讲,对于中大型公司(没进过大公司),都会进行代码加密与代码托管. 特别小的公司以及一些小型的外包公司则有可能没有,例如我现在所在的小公司,代码是本地文档库托管的,也就是说如果那 ...

  4. 【git】源代码管理工具 GIT的使用步骤的详细讲解

    是否显示隐藏文件夹的终端命令: defaults write com.apple.finder AppleShowAllFiles YES defaults write com.apple.finde ...

  5. 【源代码管理工具GIT】

    什么是GIT? Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制 集中式和分布式 集中式:Svn : 由中央服务器统一管理代码 ,安全性差. 分布式:Git:每个电脑都有一个版本库,安全 ...

  6. 安装了git之后visual studio 2019变得很卡怎么办?(工具 --> 选项 --> 源代码管理工具【设置成无】)

    工具 --> 选项 --> 源代码管理工具 将源代码管理工具设置为无 参考文章:为什么vs2015经常卡顿? - 张山的回答 - 知乎

  7. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

  8. 20180320作业1:源代码管理工具调查

    任务说明: 一.找出并了解当前较为流行的几种源代码管理工具(至少三种): 二.建立表格对这些源代码管理工具的优缺点进行比较分析. 工具 优点 缺点 SVN  开源,有独立大的安全管理机制代码一致性高 ...

  9. SCPPO(六):源代码管理工具---Team Foundation Server

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 正所谓:工欲善其事必先利其器:最近微信上转的一篇文章特别火,建议大家去瞄一瞄<吴 ...

  10. git 强制更新远程_版本控制管理工具git的常见指令合集

    今天小千就来给大家介绍一下git中比较常见的指令合集,方便大家使用git,建议收藏起来方便日后查阅. 一.常见的命令 git help <command> # 显示command的help ...

最新文章

  1. Linux中如何用命令打开文件夹
  2. 2022年美国大学生数学建模竞赛——Problem E:林业固碳
  3. 横线登记式明细分类账
  4. SpringBoot @Value、 @ConfigurationProperties 与 @EnableConfigurationProperties 使用
  5. oracle数据库中索值,Oracle数据库中的索引详解
  6. vue从入门到精通之进阶篇(一)vue-router基础
  7. 在服务器上安装vasp如何得到输出文件,云服务器安装vasp
  8. 巨坑:从Sqoop导入MySQL导入TINYINT(1)类型数据到hive(tinyint),数据为null
  9. MATLAB电路仿真搭建教程
  10. DELPHI中MessageBox的用法
  11. Windows消息大全(转载)
  12. Could not find module ‘xxx‘ for target ‘xxx‘; found: i386, x86_64-apple-ios-simula错误解决
  13. 【DB宝41】监控利器PMM的使用--监控MySQL、PG、MongoDB、ProxySQL等
  14. Python PrettyTable 模块(美化库)
  15. 华为又一重拳!迄今为止最强5G基带芯片、全球最快CPE正式发布!...
  16. MIPS微程序CPU设计
  17. 面向行业智能,华为数据通信推动的2020之变
  18. [论文阅读] BoT-SORT: Robust Associations Multi-Pedestrian Tracking
  19. 药家鑫案遇害者亲属愿接受药父20万元赠款
  20. UG NX 12 同步建模

热门文章

  1. 可替代Visio的免费流程图软件draw.io(含下载地址)
  2. appium工作原理详讲
  3. python自回归_自回归模型(AR )
  4. 使用spack mirror简化离线环境的包安装
  5. 一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取
  6. 决策树之CART 算法
  7. 思科网络技术学院教程:企业中的路由和交换技术简介第十章实验总结
  8. 第二章 ARM体系结构与指令集——ARM
  9. Qt界面语言设置(官方汉化)
  10. 工作总结之因为笛卡尔积问题写SQL搞了半天[害](附笛卡尔积总结)