(1) 版本控制
  • 本地式

    • 大都是采用数据库记录文件的差异
    • 典型的有rcs,主要保存并管理文件补丁,根据补丁去计算各版本文件内容
    • 缺点:无法协同工作
  • 集中式
    • 通过一个单一的集中服务器去管理所有文件的修订版本
    • 典型的有CVS,Subversion,以及Perforce
    • 缺点
      • 宕机无法提交更新,无法协同工作
      • 服务器故障,丢失数据(单点故障)
      • 无法保存所有版本记录
  • 分布式
    • 客户端不只是提取最新的文件快照,而是将代码仓库完整的镜像下来
    • 典型的有 Git,Mercurial,Bazaar 以及 Darcs
    • 有点
      • 便于协同工作
      • 易于仓库恢复

(2) Git与其他版本控制系统的不同
    Git直接记录文件快照,而非差异比较
       
                                          其他版本控制系统                                                                                         Git

(3) Git的优势
  • 近乎所有的操作都再本地进行
  • 时刻保持数据完整性多数操作仅添加数据
    • Git 使用 SHA-1 算法计算出一个作为指纹字符串,来作为数据的唯一标识和索引

(4) 文件的三种状态
  • working directory(工作目录)
  • staging area(暂存区域)git repository(Git仓库)
    • 个人理解:暂存区域用来保存想丢失的文件,但是又不想立即提交的文件

(5) 几种安装
  • 源代码安装
  • Linux安装
  • Mac安装
  • Windows安装

(6) Git的工作环境变量
  • /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置

    • git config --system -l
  • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户
    • git config --global -l
  • 当前工作目录中的 .git/config 文件
    • git config --local -l

(7) Git帮助
  • git help <verb>
  • git <verb> --help
  • man git-<verb>

1. ProGit-起步的更多相关文章

  1. [NodeJS] Hello World 起步教程

    概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文:  1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...

  2. Node.js起步 -- (1)

    先来简单介绍nodeJS 我们知道JavaScript是运行在浏览器中的,浏览器为它提供了一个上下文(context),从而让JavaScript得以解析执行. nodeJS其实可以这么理解,它是另外 ...

  3. Linux上的SQL Server的起步

    我们知道,几个星期前,微软发布了在Linux上直接运行的SQL Server第一个公开CTP版本!因此,对我来说,是时候跨界在Linux上安装我的第一个SQL安装,这样的话,我就可以在Linux上折腾 ...

  4. Pro Git 第一章 起步 读书笔记

    Pro Git 笔记 第1章 起步 1.文件的三种状态. 已提交:文件已经保存在本地数据库中了.(commit) 已修改:修改了某个文件,但还没有提交保存.(vim) 已暂存:已经把已修改的文件放在下 ...

  5. 第二篇.Bootstrap起步

    第二篇Bootstrap起步 我们可以在http://getbootstrap.com下载bootstrap的文件 点击左边的download bootstrap可以下载bootstrap的css,j ...

  6. Android学习起步 - 新建工程及相关

    新手起步迷迷糊糊,以下记录迷惑之处,大家共勉!!! 1.创建安卓应用工程 选择Andriod Application Project 点下一步直到完成. 二.下面是新建工程注意的地方 (1)首选删除系 ...

  7. okhttp教程——起步篇

    okhttp教程--起步篇 这篇文章主要总结Android著名网络框架-okhttp的基础使用,后续可能会有关于他的高级使用. okhttp是什么 okhttp是Android端的一个Http客户端, ...

  8. DirectX API 编程起步 #01 项目设置

    =========================================================== 目录: DirectX API 编程起步 #02 窗口的诞生 DirectX A ...

  9. Windows程序设计(第五版)学习:第一章 起步

    第一章 起步 1,windows主要的三个动态库: kernel32.dll负责操作系统的传统工作,包括内存管理.文件输入以及任务管理等. user32.dll负责用户界面的操作,即所有窗口的管理 g ...

  10. [转载] Redis 起步

    转载地址:http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在C ...

随机推荐

  1. 比较合并工具vimdiff的主要用法归纳

    参考:https://www.ibm.com/developerworks/cn/linux/l-vimdiff/ vimdiff主要用法归纳如下:   1.打开文件 vimdiff file1 fi ...

  2. NodeJs 中的Crypto 加密模块

    加密技术通常分为两大类:“对称式”和“非对称式”. 对称式加密: 就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是 ...

  3. POJ C程序设计进阶 编程题#6:流感传染

    编程题#6:流感传染 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 有一批 ...

  4. DIV JS CSS 轻量级弹出层 兼容各浏览器

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. SQLServer2005,2000获取表结构:字段名、类型、长度、主键、非空、注释

    SQLServer 2005 SELECT d.name N'TableName', d.xtype N'TableType', a.colorder N'ColumnIndex', a.name N ...

  6. Keil的使用方法 - 常用功能(一)

    Ⅰ.概述 学习一门软件的开发,开发工具的掌握可以说尤为重要.由于Keil集成开发工具支持多种MCU平台的开发,是市面上比较常见的,也是功能比较强大一款IDE.所以,对于大多数人说,选择Keil几乎是单 ...

  7. python二叉树递归算法之后序遍历,前序遍历,中序遍历

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2016-11-18 08:53:45 # @Author : why_not_try ...

  8. python时间-time模块

    time是python自带的模块,用于处理时间问题,提供了一系列的操作时间的函数. 以下说明针对于 python2.7,其他版本可能有所差异. 模块提供了两个种表示时间的格式: 1.时间戳,是以秒表示 ...

  9. laravel 笔记

    1.excel composer require maatwebsite/excel ~2.0.0 Maatwebsite\Excel\ExcelServiceProvider::class, 'Ex ...

  10. ios开发笔记

    @IBDesignable  可在第二视图中实时预览 @IBInspectable 可编辑属性