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
  • 相关阅读:
    176. Second Highest Salary
    175. Combine Two Tables
    172. Factorial Trailing Zeroes
    171. Excel Sheet Column Number
    169. Majority Element
    168. Excel Sheet Column Title
    167. Two Sum II
    160. Intersection of Two Linked Lists
    个人博客记录
    <meta>标签
  • 原文地址:https://www.cnblogs.com/mafeifan/p/3509750.html
Copyright © 2011-2022 走看看