版本控制工具--svn和git的使用(一) -----版本控制的好处以及分类
版本控制工具
版本控制VCS(Version Control Systems)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。这个系统可以自动帮我们备份文件的每一次更改,并且可以非常方便的恢复到任意的备份(版本)状态。
解决的问题:
* 代码合并
* 协同开发
* 提高效率
* 回退版本
* 分支管理-多任务处理
分类:
* 集中式:SVN
** 在集中式版本控制工具中,都会有一个中央服务器。将所有源代码都放到中央服务器上。
***首先,从中央服务器上下载代码(或者更新代码),在本地开发。接下来,如果开发完毕,要通过网络将完成的代码,提交到中央服务器上。
** 必须联网、中央服务器、所有源代码集中放在中央服务器
** 没有网络,玩不转 --缺点
** 中央服务器坏掉了,就会导致所有源代码丢失。 --最大缺点
* 分布式:Git
** 不是必须要有中央服务器,在每个开发人员的电脑上,都会存有一个完整源代码,在本地创建版本库,每一次开发完成提交的代码,都在本地计算机上操作。
** 不需要联网,中央服务器也不是必须的,每个开发人员的电脑上都是完整的源代码
** 在实际开发时,通常会搭建一个中央服务器。
** 为了方便合并所有开发人员的代码块
** 为了方便开发人员之间的代码共享
综合上述,git的优势比svn要好,摒弃了svn的缺点。但是在大项目开发中也有的团队用SVN作为版本控制工具。在下一部分我会复习svn的操作方法和git的命令的使用。
版本控制工具--svn和git的使用(一) -----版本控制的好处以及分类的更多相关文章
- 版本控制工具--svn和git的使用(二) -----SVN的操作
SVN的使用 开头: 对于svn的详解,我不是很熟,只是用过svn的客户端,没使用过服务端,在这里我只是简单说一下在svn的客户端怎么拉取代码,提交代码和修改冲突等等.svn的客户端我在Mac中用的s ...
- 版本控制工具--svn和git的使用(三) -----git的使用(2)
远程仓库github是git所用的远程仓库,免费的也有私用的.github的账号注册,----省略.创建ssh key:$ ssh-keygen -t rsa -c 'github的账号'查看各个系统 ...
- 版本控制工具--svn和git的使用(三) -----git的使用(1)
安装 git官网就有git各个系统的安装包,可以根据自己系统安装相应的安装包.window的git安装包 依据国内网速原因,将安装放到网盘里,链接: https://pan.baidu.com/s/1 ...
- [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)
[.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...
- 版本控制工具SVN学习
教学视频链接:https://edu.aliyun.com/course/83?spm=5176.10731334.0.0.778e6580zC0Ri0 版本控制工具SVN学习 1,SVN的简介 在实 ...
- 团队项目开发中,常见的版本控制有svn,git
团队项目开发中,常见的版本控制有svn,git
- 版本控制工具svn的安装与简单使用
版本控制工具多用于多人协作开发项目中,这不同于个人开发项目,想把自己代码怎样放置都可以,而且删除了代码很难查找. 版本控制工具类似于个人处理钱的过程,放于自己口袋管理类似于个人开发情形,如果自己钱丢了 ...
- 版本控制工具-svn
两个疑问: 1.什么是版本控制? 2.为什么要用版本控制工具? 银联卡的特征: 1.受保护的 2.受约束的 如何与银联卡对应? 1.个人的代码--口袋里的钱 2.版本控制工具中的代码--银联卡里的钱 ...
- 版本控制(svn、Git)环境创建
1.SVN 2.Git last 版本控制工具应该具备的功能: 协同修改: 数据备份: 版本管理: 权限控制: 历史记录:查看修改人.修改时间.修改内容…… 分支管理:开发团队在工作过程中多条产品线同 ...
随机推荐
- Hadoop学习笔记四
一.fsimage,edits和datanode的block在本地文件系统中位置的配置 fsimage:hdfs-site.xml中的dfs.namenode.name.dir 值例如file:// ...
- 联合查询到gridview
using com.DAL.Base; using DAL.ruanmou; using System; using System.Collections.Generic; using System. ...
- JSON工具类
import java.sql.Timestamp; import java.util.Collection; import java.util.Date; import org.soul.util. ...
- Python面向对象篇(3)-封装、多态、反射及描述符
1. 多态 多态,最浅显的意识就是同一事物具有多种形态,这很好理解,动物是一个大类,猫类属于动物类,狗类属于动物类,人也是属于动物类,那能理解成,猫.狗.人是一样的吗?当然不是,还有,水,分为液体.固 ...
- mysql中的范式与范式——读<<高性能mysql>>笔记一
对于任何给定的数据库通常都有很多表示方法,从完全的范式化到完全的反范式化,以及两者的折中.在范式化的数据库中,每个事实数据会出现并且只出现一次.相反,在反范式化的数据库中,可能会存储在多个地方. 那什 ...
- Java集合中的AbstractMap抽象类
jdk1.8.0_144 AbstractMap抽象类实现了一些简单且通用的方法,本身并不难.但在这个方法中有两个方法非常值得关注,keySet和values方法源码的实现可以说是教科书式的典范. 抽 ...
- Sphinx下载、安装、配置、Hello World、文档阅读
sphinx下载.安装.配置.Hello World.查看文档
- 洛谷P3375 - 【模板】KMP字符串匹配
原题链接 Description 模板题啦~ Code //[模板]KMP字符串匹配 #include <cstdio> #include <cstring> int cons ...
- 图论4——探索网络流的足迹:Dinic算法
1. 网络流:定义与简析 1.1 网络流是什么? 网络流是一种"类比水流的解决问题方法,与线性规划密切相关"(语出百度百科). 其实,在信息学竞赛中,简单的网络流并不需要太高深的数 ...
- js处理时间戳显示的问题
function getDate(tm){ ); var year = date.getFullYear(); var month = date.getMonth()+1; var day = dat ...