当前位置:网站首页>代码管理工具
代码管理工具
2022-07-03 06:05:00 【开心的饲养员】
目录
几种常用的代码管理工具:
(1)CVS
- 开启版本控制之门
- 1990年诞生,“远古时代”的主流源代码管理工具
(2)SVN
- 全称是Subversion,集中式版本控制之王者
- 是CVS的接班人,速度比CVS快,功能比CVS多且强大
- 在国内软件企业中使用最为普遍(70%-90%)
(3)Git
-是目前世界上最先进的分布式版本控制系统(没有之一)
(4)ClearCase
- 收费的集中式版本控制工具,安装比Windows还大,运行比蜗牛还慢
- 能用ClearCase的一般是世界500强,他们有个共同的特点是财大气粗
(5)VSS
- 微软的集中式版本控制工具,集成在Visual Studio中
1. svn与git的区别
1.1 GIT是分布式的而SVN是集中式
集中式:一台服务器控制着所有的代码,这台服务器的代码是最新的,其他电脑的代码操作(如下载、提交)都需要通过这台服务器才可以执行。
分布式:每台电脑都相当于一个服务器,代码是最新的,比较灵活。
对比:Git的速度比SVN快;Git比SVN灵活;SVN一旦没有网络或者服务器挂了的话,其他电脑都无法执行操作,但是Git可以先提交到本地版本库,等待联网的时候再提交到远程代码仓库。
1.2 GIT把内容按元数据方式存储,而SVN是按文件
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为.git目录是处于你的机器上的一个克隆版的版本库, 它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
1.3 GIT分支和SVN的分支不同
分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。<br> 然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。
2. 常用的git管理工具
(1)Git Base
Git Base采用命令行的方式进行版本管理,功能操作最为灵活强大,下载地址:http://git-scm.com/download/win
(2)EGit
EGit是Eclipse的Git插件,在Eclipse中开发时直接操作EGit很方便,尤其对于有SVN开发情节的开发人员来说更加热衷于使用,但是EGit存在很多bug和不人性化的东西,需谨慎使用!
(3) TortoiseGit
在Windows上面,图像化软件TortoiseGit相比GitHub客户端使用较为方便,下载地址:http://git-scm.com/download/win
3. git代码管理的优势
能记录一个项目从开始到结束的整个过程。
追踪项目中所有内容的变化情况,如增加了什么内容,删除了什么内容,修改了什么内容等等。
版本控制,可以清楚的知道每个版本之间的异同点,如版本2.0相比较版本1.0多了什么内容,功能等。
权限控制,防止代码混乱,提高安全性,防止一些不必要的损失和麻烦,简单的理解就是为什么职位做什么事情,不能越界。如控制程序员A对正在开发的项目具有开发的权限,其他项目不具有开发的权限,如果不进行控制的话,那么对其他项目的开发权限也对程序员A开放,如果程序员A对其他项目不小心进行了错误的操作 如删除,就会造成一些损失。
责任追究,防止互相推卸责任,可以清楚的知道谁对哪个文件进行了什么修改,导致了项目无法正常运行。
回退处理,执行了错误的操作之后还可以有补救的机会,如从版本1.0升级到版本2.0,后来发现版本2.0有一个错误,这时候可以进行回退处理,比较方便。
冲突解决,在团队的多人协同开发中,冲突是经常有的事情,比如存在着相同的文件名称,同一个文件中有着相同功能的函数等等,这时候使用源代码管理工具可以比较方便的解决冲突。冲突的解决一般按照“复制-修改-合并”原则进行。
如有侵权,请联系删除!
边栏推荐
- Sorry, this user does not exist!
- arcgis创建postgre企业级数据库
- [teacher Zhao Yuqiang] RDB persistence of redis
- Kubernetes notes (III) controller
- About the difference between count (1), count (*), and count (column name)
- 智牛股项目--04
- Kubernetes cluster environment construction & Deployment dashboard
- Yum is too slow to bear? That's because you didn't do it
- [teacher Zhao Yuqiang] use Oracle's tracking file
- 1. 两数之和
猜你喜欢

Pytorch builds the simplest version of neural network

理解 期望(均值/估计值)和方差
![[teacher Zhao Yuqiang] use the catalog database of Oracle](/img/0b/73a7d12caf955dff17480a907234ad.jpg)
[teacher Zhao Yuqiang] use the catalog database of Oracle
![[teacher Zhao Yuqiang] MySQL high availability architecture: MHA](/img/a7/2140744ebad9f1dc0a609254cc618e.jpg)
[teacher Zhao Yuqiang] MySQL high availability architecture: MHA

JDBC connection database steps

Understand expectations (mean / estimate) and variances

Tabbar settings

Kubernetes notes (II) pod usage notes
![[teacher Zhao Yuqiang] Flink's dataset operator](/img/cc/5509b62756dddc6e5d4facbc6a7c5f.jpg)
[teacher Zhao Yuqiang] Flink's dataset operator

【系统设计】邻近服务
随机推荐
Characteristics and isolation level of database
Leetcode problem solving summary, constantly updating!
Kubesphere - set up redis cluster
Alibaba cloud Alipay sandbox payment
Loss function in pytorch multi classification
Cesium 点击获取模型表面经纬度高程坐标(三维坐标)
伯努利分布,二项分布和泊松分布以及最大似然之间的关系(未完成)
PMP笔记记录
Zhiniu stock project -- 04
使用 Abp.Zero 搭建第三方登录模块(一):原理篇
Exportation et importation de tables de bibliothèque avec binaires MySQL
智牛股--03
Fluentd is easy to use. Combined with the rainbow plug-in market, log collection is faster
The programmer shell with a monthly salary of more than 10000 becomes a grammar skill for secondary school. Do you often use it!!!
1. 两数之和
Oauth2.0 - Introduction and use and explanation of authorization code mode
Bernoulli distribution, binomial distribution and Poisson distribution, and the relationship between maximum likelihood (incomplete)
GPS坐标转百度地图坐标的方法
智牛股项目--05
[teacher Zhao Yuqiang] index in mongodb (Part 1)