zoukankan      html  css  js  c++  java
  • 初识Git

    版本控制工具

      什么是版本控制工具,有什么作用,我们为什么要关心他?版本控制是记录一个或若干文件的内容变化,以便将来查阅特点版本修订情况的系统(简称:VCS)。

      常见工具有:CVS、Subversion、Perforce

    VCS发展

      1.文件备份 + 名称+时间区分不同版本   :容易犯错

      2.本地版本控制:简单的数据库记录两次文件更新的差异 (无法让不同系统开发者协调工作) 

             

      3.集中服务器管理:如Subversion

      

             缺点:中央服务器单点故障,无法进行进行协同工作

       若中心仓库磁盘损坏又无备份,所有数据将丢失

      4.分布式版本控制工具:git

      客户端不仅提取最新版本文件快照,而是将整个仓库代码完整的镜像下来,无论协同工作任何一处服务器发生故障,都可使用任意一个镜像恢复。

      

    Git与其他版本工具数据记录差异

    Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。这类系统(CVS,Subversion,Perforce,Bazaar 等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容:

    其他系统在每个版本中记录着各个文件的具体差异

    Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。Git 的工作方式就如下图所示。

     
    所有操作近乎本地操作
  • 相关阅读:
    linux目录特殊权限 t :禁止删除(粘滞)权限
    牛X 好用的sshd_config:ChrootDirectory:特别注意【该目录必须是只能且仅能root用户有w权限!】
    mysql FIND_IN_SET 尝试性优化
    Java base64 添加data URI
    【java】itext5 添加页眉页脚
    【java】一些图片印章的处理方法
    授权MySQL root 用户所有权限
    法学 五院四系
    最具投资前景
    JCL ABEND CODE
  • 原文地址:https://www.cnblogs.com/javaLf/p/9147687.html
Copyright © 2011-2022 走看看