• 关于版本控制

    • 什么是版本控制:记录文件内容变化,将来可查阅特定版本修订情况的系统。
    • 版本控制演进
      • 1)本地版本控制系统
      • 2)集中化的版本控制系统(Centralized Version Control System)CVCS
        • 示例:CVS、Subversion、Perforce
        • 原理:有一个集中管理的服务器,保存所有文件的修订版本,通过客户端连到服务器,取出更新的文件或提交更新。
        • 缺点:中央服务器单点故障
          • 1)宕机1小时,1小时内无法提交更新
          • 2)中心数据库磁盘损坏,整个项目变更历史丢失
      • 3)分布式版本控制系统(Distributed Version Control System)DVCS
        • 示例:Git
        • 原理:与CVCS相比,客户端不仅仅提取最新文件,而是代码仓库完整镜像下来
        • 优点:服务器发生故障,可用任何一个镜像恢复
  • Git基础
    • 1)对待数据的方法:直接记录快照,而不是差异比较

      • 差异流

        • CVS、Subversion等保存项目状态时,是保存每个文件与初始版本的差异
      • 快照流
        • Git保存项目状态时,是对当时所有文件制作一个快照并保存快照的索引
    • 2)几乎所有操作都是本地执行
      • Git:绝大多数操作仅需访问本地文件和资源

        • 示例1)查看log:无需连服务器,直接本地读取
        • 示例2)版本差异:直接本地做差异比较
    • 3)Git保证完整性
      • Git中所有存储前计算校验和,然后以校验和来引用。SHA-A哈希。
    • 4)Git一般只添加数据
      • 快照提交到Git中,数据难以丢失
    • 5)3个区域和文件的3种状态
      • 3个区域
        • 工作区:
        • 暂存区:git add后文件保存到此区域,保存下一commit的文件列表信息
        • 本地仓库:git commit后文件保存到此区域
      • 文件的3中状态:
        • 已修改:工作区中文件做了修改,未git add到暂存区
        • 已暂存:已git add到暂存区,但未git commit到本地仓库
        • 已提交:已git commit到本地仓库
      • 基本git工作流程
        • 1)工作区中修改文件
        • 2)git add到暂存区
        • 3)git commit到本地仓库
  • 初次运行Git前的配置
    • Git配置

      • 每一级别覆盖上一级别的配置。
      • 系统级配置:
        • 1)/ect/gitconfig文件,含每一个用户及他们仓库的通用配置。
        • 2)命令使用前缀:git config --system
      • 用户级配置:
        • 1)~/.gitconfig或~/.config/git/config,只针对当前用户。
        • 2)命令使用前缀:git config --global
      • 仓库级配置:
        • 1)仓库目录中的.git/config,只针对该仓库
        • 2)命令使用前缀:git config
    • 配置用户信息
      • git config --global user.name "aa"
      • git config --global user.email "123@abc.com"
    • 检查配置信息
      • 1)检查所有配置:git config --list
      • 2)检查某一项配置:git config <key>,如git config user.name
    • 获取帮助
      • git help <verb>,如git help config

《Pro Git》第1章 起步的更多相关文章

  1. [Git01]Pro Git 第三章 分支 读书笔记

    [git]分支   Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来. Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在 ...

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

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

  3. 【Tools】Pro Git 一二章读书笔记

    记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧.   Pro Git (Scott Chacon) 读书笔记:   ...

  4. [Git00] Pro Git 一二章读书笔记

    记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧.   Pro Git (Scott Chacon) 读书笔记:   ...

  5. 《Pro Git》笔记1:起步

    第一章 起步 1.关于版本控制 版本控制用于记录和追踪目录结构和文件内容变化,能够追溯过去的任何修改和变化,并恢复到任何历史状态. 版本控制系统可以按照发展过程分成以下几类: 目录备份.记录版本变化最 ...

  6. 《Pro Git》阅读随想

    之前做版本管理,我使用最多的是SVN,而且也只是在用一些最常用的操作.最近公司里很多项目都开始上Git,借这个机会,我计划好好学习一下Git的操作和原理,以及蕴含在其中的设计思想.同事推荐了一本< ...

  7. 《Pro Git》轻松学习版本控制

    转自 https://kindlefere.com/post/333.html 什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在 ...

  8. Pro Git(中文版)

    Pro Git(中文版) 返回 Git @ OSC 目录 1.起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 安装 Git 1.5 初次运行 Git 前的配置 1.6 ...

  9. Pro Git CN Plus

    Git — The stupid content tracker, 傻瓜内容跟踪器.Linus 是这样给我们介绍 Git 的. Git 是用于 Linux 内核开发的版本控制工具.与常用的版本控制工具 ...

  10. Pro Git 学习笔记

    Pro Git 学习笔记 文档地址:Pro Git原文地址:PRO GIT 学习笔记 git常见命令 1.Git起步 初次运行Git前的配置 用户信息 git config --global user ...

随机推荐

  1. django数据库读写分离,分库

    读写分离 在settings中配置不同名称的数据库连接参数,并配置一条数据库选择路由 DATABASES = { 'default': { 'ENGINE': 'django.db.backends. ...

  2. vue-infinite-scroll 自动加载

    初次上手vue开发 笑话百出,各种麻爪 在实现上拉加载的时候用的是mint-ui里面的 infinite-scroll 结果在使用的时候不停的自动加载,后来查询了相关资料 原来是控件识别只要没有铺满全 ...

  3. iOS应用开发最佳实践:编写高质量的Objective-C代码

    本文转载至 http://www.cocoachina.com/industry/20131129/7445.html 点标记语法 属性和幂等方法(多次调用和一次调用返回的结果相同)使用点标记语法访问 ...

  4. IOS开发之自定义键盘

     本文转载至 http://blog.csdn.net/majiakun1/article/details/41242069 实际开发过程中,会有自定义键盘的需求,比如,需要添加一个表情键盘.本文提供 ...

  5. InetAddress类和InetSocketAddress的使用

    一简介 InetAddress是Java对IP地址的封装,代表互联网协议(IP)地址:InetAddress对象的获取只能通过静态方法,比如根据主机名获取主机的ip地址封装对象: ? 1 InetAd ...

  6. shiro权限笔记

    shiro框架运行流程 认证:系统提供的用于识别用户身份的功能,通常就是登录功能.----让系统知道你是谁??授权:系统提供的为用户分配访问系统某些功能的能力.----让系统知道你能做什么?? 官网: ...

  7. Top15的golang学习资源网站

    We decided to ask the Go expert and CTO at QArea’s, Maksim Kuharenko, to share his personal list of ...

  8. python 三行代码实现快速排序

    python 三行代码实现快速排序 最近在看 python cookbook , 里面的例子很精彩,这里就帮过来,做个备忘录 主要利用了行数的递归调用和Python的切片特性,解释一下每行代码的含义: ...

  9. CentOS7防火墙firewalld

    1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld  停止: systemctl disab ...

  10. Python生成器是什么

    生成器是 Python 初级开发者最难理解的概念之一,虽被认为是 Python 编程中的高级技能,但在各种项目中可以随处见到生成器的身影,你得去理解它.使用它.甚至爱上它. 提到生成器,总不可避免地要 ...