zoukankan      html  css  js  c++  java
  • Git学习系列 (一)

    打算花一个半月的时间学完Git。宏观上有更深的认识。

    参考:

    Pro Git(中文版)

    一、历史

    本地版本控制系统

    最原始的做法。复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。

    缺点:无法撤消恢复。无法协同工作。

    集中化的版本控制系统

    为解决多人协同工作,出现了集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )

    代表:CVS,Subversion 以及 Perforce 等

    原理:使用单一的集中管理的服务器,保存所有文件的修订版本

    缺点:一旦中央服务器出现故障,所有人无法提交更新,有丢失所有历史更新记录的风险

    分布式版本控制系统

    为解决上面的问题,于是出现了分布式版本控制系统( Distributed Version Control System,简称 DVCS )

    代表:Git,Mercurial,Bazaar 以及 Darcs 等

    每个客户端都存有一份完整的代码仓库,就算中央服务器发生故障,可以用任何一个本地仓库恢复。

    关于仓库的概念,下回分解。

    二、Git基础

    Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。

    Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。

    其实的优点,即使不联网,我们也可以在本地提交,等到联网的时候再push到远程服务器上。

    在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。

    三、安装

    安装git非常简单,在Ubuntu上面直接运行

    sudo apt-get install git

    Windows上要安装http://msysgit.github.com/

    四、配置

    git config --global user.name "John Doe"

    加--global   表示全局

    加--system 表示系统级

    这是一个优先级的问题,如果项目中没有设置username信息,就会使用全局的设置,如果没有设置全局变量则最后使用系统级的设置。

    全局配置信息是个文件,Windows下,存放在家(HOME)目录的隐藏文件.gitconfig中。

    最后

    介绍一个非常有用的命令。

    要检查已有的配置信息

    git config --list
  • 相关阅读:
    c# winForm 圆角Panel
    C# WinForm开发系列 ListBox/ListView/Panel
    WCF RIA Service实体类的自定义复杂类型属性在客户端不可见
    与用户深入交互 不做机器人般的设计师
    The Big List of What’s New or Improved in Silverlight 5
    Instantiating a Silverlight Plugin (Using CreateSilverlight.js and Silverlight.js)
    不用js也能创建silverlight
    WCF中使用HttpContext.Current的办法
    去除字符串空格,各类型验证,获取url参数等
    Understanding WCF Services in Silverlight 2
  • 原文地址:https://www.cnblogs.com/mafeifan/p/3509750.html
Copyright © 2011-2022 走看看