zoukankan      html  css  js  c++  java
  • 1. 为什么要使用Git

    前言

    该文章只是记录了一些自己的见解,可能并不准确,只是为了学习时的一些记录,不喜勿喷,谢谢

    1. Git是什么?

    git是一个和svn一样的版本控制软件,但是与svn不同的是,git是一个分布式的高效版本控制系统。其实现原理跟svn也大相径庭,采取了一种以空间换时间的理论,为什么是使用分布式呢,因为git会在每个开发者的本地中都保留了一份仓库副本,即使在断网的时候,也能提交代码到各自的仓库中,等联网后,再提交到中央仓库。每个开发者的仓库都是互相不可见的。

    首先我们来了解一些概念和名词

    1.1 本地仓库

    本地仓库就是用来管理版本库的一些文件组成,里面记录了配置信息,当前状态数据,以及版本记录等数据

    1.2 工作空间

    开辟本地仓库后,在当前目录中一系列操作都可以看作是对工作空间的操作

    1.3 暂存区

    类似与windows中粘贴板,对工作空间的修改还没提交到本地仓库时的数据进行一个暂存,可以随时的回退到未修改前的状态

    1.4 分支

    当在我们本地进行了多次的提交后,形成了一条链路,该链路就叫做分支,当前仓库默认是master分支,也可以使用命令来创建其余分支

    2. Git和Svn的区别

    这里也是进行百度的,稍微记录下,来自 https://www.cnblogs.com/baby123/p/10411103.html

    1. svn是集中式的,而git是分布式的,如果svn的中央仓库代码被删除了,那么可能代码真的就找不回来了,而git因为是分布式的,本地都有着所有代码的副本,所以即便中央仓库代码丢失,也可能通过本地代码重新恢复回来。
    2. svn每次提交记录,都是将提交的数据之间的差异数据进行保存,而git则是对有修改的文件使用另一个新的文件来保存,即使用了更多的资源,但是现在的社会,最不缺的就是空间资源了。
    3. svn服务器中使用了全局版本号,每次提交都会产生一个唯一的全局id,且是由顺序的。而git则是根据sha1来进行盐值加密算法获取,没有什么先后区分
    4. 分支管理的不同。svn的开辟新分支,则是将原有的分支的文件全部拷贝一份到新分支中,如果项目比较大,该过程可能会消耗点时间。而git则是通过指针的方式,非常的快速
    5. 操作的不同。svn中一般提交代码和拉取代码两步骤,而git则有一个暂存区的概念,先add,然后commit。
    6. 学习曲线的不同。svn相对简单,git学习曲线相对陡峭

    3. 为什么要用Git

    1. 首先git是一个比svn更加优秀的代码管理工具,已经可以说取代了svn,其区别如上
    2. 目前的很多程序中,都需要有git的支持,可能在使用一款工具时,会先检测是否安装了git,否则必须要求先安装git,可见其活跃度
    3. 由于github和码云的兴起,拉去代码都是通过git来操作完成
  • 相关阅读:
    SQL Server 中关于EXCEPT和INTERSECT的用法
    SQL SERVER 索引中聚集索引分析和Transact-SQL语句优化
    DATEDIFF() 返回2个日期之间的间隔
    CharIndex()
    poj1470 Closest Common Ancestors [ 离线LCA tarjan ]
    2014 蓝桥杯 预赛 c/c++ 本科B组 第九题:地宫取宝(12') [ dp ]
    hdu 2438 Turn the corner [ 三分 ]
    poj 3295 Tautology [ 栈 ]
    hdu 4923 Room and Moor [ 找规律 + 单调栈 ]
    1597: [Usaco2008 Mar]土地购买 [ dp+斜率优化 ] 未完
  • 原文地址:https://www.cnblogs.com/duguxiaobiao/p/12598522.html
Copyright © 2011-2022 走看看