##
1. 什么是版本控制工具
来自维基百科:
版本控制
是维护工程蓝图的标准作法,能追踪工程蓝图从诞生到定案的过程。
此外,版本控制也是一种软件工程技巧,借此能在软件开发中,确保由
不同人所编辑的同一代码文件都得到同步
。
总得来说,两个核心作用:
1.版本控制工具中记录了各个提交版本,方便任意文件恢复到任意一个历史版本
2.保证代码同步
其他作用:比如,追溯任意代码文件的任意一行在什么时间被谁修改过
##2. 各种版本控制工具
其中,最常用的版本控制工具
三种常见版本控制工具比较
当一个项目有多人协同完成,必然要使用到源代码管理工具,介绍常见的管理工具的基本原理与环境;
一、三种源代码管理工具:其中git为分布式管理架构,SVN、CVS为集中式管理架构
二、git于SVN的简单对比
无论学习还是使用上,git比SVN更加复杂,很多概念需要去理解;
三、集中式和分布式版本控制系统的区别
先来两张图:
集中式版本控制系统原理:
集中式版本控制系统解析:
集中式版本控制...
Git与SVN 的区别
Git 不 仅仅是个版本控制系统,它也是个内容管理系统(CMS)、工作管理系统等。如果你曾是一个使用过SVN背景的人,那么你可以很容易的做一定的思想转换,来 适应Git提供的一些概念和特征。这篇文章的主要目的就是通过介绍Git能做什么,以及它和SVN在深层次上究竟有什么不同,通过比较来帮助你更好的认识 Git
Git是分布式的,SVN不是
这是Git和其它非分布式的版本控制系统(SVN,CVS)最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。需要做一点声
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目
Git是Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件
CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相似的代码版本控制软件有subversion,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。
SVN(Subversion)
SVN是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而
Git 、
CVS、
SVN比较
项目源代码的
版本管理
工具中,比较常用的主要有:
CVS、
SVN、
Git 和 Mercurial (其中,关于
SVN,请参见博客:
SVN常用命令和
SVN服务器配置)
目前Google Code支持
SVN、
Git、Mercurial三种方式,例如:linux-kernel-source(
Git 方式)、sdk-java(
SVN方式),那么它们各有什么
区别呢?
1> cvs是不支持文件的复制 移动和重命名 而svn支持
2> cvs在网络中断等时 提交的部分文件也会生效 而svn当用户全部提交完变更的文件时 才会生效 否则直接回滚 变成最初状态
3> 版本控制上 对于一个文件foo.c 在cvs1.1 版本和1.2版本始终是不相同的 而svn中有可能相同
4> 对二进制文件的处理上 cvs上对每个历史版本都进行存储 而svn上只是存储每个版本之间的
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVPrinter;
import org.apache.commons.csv.CSVRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.mul
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;