《Pro Git》第1章 起步
- 关于版本控制
- 什么是版本控制:记录文件内容变化,将来可查阅特定版本修订情况的系统。
- 版本控制演进
- 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)版本差异:直接本地做差异比较
- Git:绝大多数操作仅需访问本地文件和资源
- 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到本地仓库
- 1)对待数据的方法:直接记录快照,而不是差异比较
- 初次运行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
- Git配置
《Pro Git》第1章 起步的更多相关文章
- [Git01]Pro Git 第三章 分支 读书笔记
[git]分支 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来. Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在 ...
- Pro Git 第一章 起步 读书笔记
Pro Git 笔记 第1章 起步 1.文件的三种状态. 已提交:文件已经保存在本地数据库中了.(commit) 已修改:修改了某个文件,但还没有提交保存.(vim) 已暂存:已经把已修改的文件放在下 ...
- 【Tools】Pro Git 一二章读书笔记
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧. Pro Git (Scott Chacon) 读书笔记: ...
- [Git00] Pro Git 一二章读书笔记
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧. Pro Git (Scott Chacon) 读书笔记: ...
- 《Pro Git》笔记1:起步
第一章 起步 1.关于版本控制 版本控制用于记录和追踪目录结构和文件内容变化,能够追溯过去的任何修改和变化,并恢复到任何历史状态. 版本控制系统可以按照发展过程分成以下几类: 目录备份.记录版本变化最 ...
- 《Pro Git》阅读随想
之前做版本管理,我使用最多的是SVN,而且也只是在用一些最常用的操作.最近公司里很多项目都开始上Git,借这个机会,我计划好好学习一下Git的操作和原理,以及蕴含在其中的设计思想.同事推荐了一本< ...
- 《Pro Git》轻松学习版本控制
转自 https://kindlefere.com/post/333.html 什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在 ...
- Pro Git(中文版)
Pro Git(中文版) 返回 Git @ OSC 目录 1.起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 安装 Git 1.5 初次运行 Git 前的配置 1.6 ...
- Pro Git CN Plus
Git — The stupid content tracker, 傻瓜内容跟踪器.Linus 是这样给我们介绍 Git 的. Git 是用于 Linux 内核开发的版本控制工具.与常用的版本控制工具 ...
- Pro Git 学习笔记
Pro Git 学习笔记 文档地址:Pro Git原文地址:PRO GIT 学习笔记 git常见命令 1.Git起步 初次运行Git前的配置 用户信息 git config --global user ...
随机推荐
- Java知识点梳理——继承
1.定义:继承允许创建分等级层次的类,就是子类继承父类的特征行为,使得子类对象具有父类实例的方法, 使得子类具有父类相同的行为. 2.继承的特性: a.子类拥有父类非priavte的属性.方法: ...
- Mysql event时间触发器,实现定时修改某些符合某一条件的某一字段
我最近做项目遇到一个问题就是数据库的的订单需要定时检查自己的订单状态,如果到了endtime字段的时间订单状态还是2,就将订单状态修改为4 在网上找到类似的解决方法. 定时的关键是要结合mysql的某 ...
- cxGrid 使用指南 1
1:cxgrid是应该数据关联的控件,类似dbgrid.2:一般用来查阅表信息,如果要修改的话,直接在上面编辑或添加 非常不方便通常要放几个EDit来对选中的记录进行编辑或添加记录. 因为表一般都有主 ...
- form.submit 方法 并不会触发 form.onsubmit 事件
做表单的时候发现一个奇怪的地方,总结下: form.submit 方法 并不会触发 form.onsubmit 事件,看代码: <body> <div class="con ...
- Debug技巧:条件断点和远程Debug
一.断点: 1.条件断点 本以为条件断点很难,其实就这样. 二.远程Debug 1.首先看服务器是不是在Debug模式下工作 不是则进行(tomcat/bin/catalina.sh)配置. -Xde ...
- mysql中给表添加字段
添加字段: 格式:alter table 表名 add 字段名 字段类型 ; 如:给表stu_info 添加一个字段type,类型为varchar(30) alter table stu_info a ...
- Fluent Ribbon 第八步 其他控件
前七节将Ribbon的功能大致介绍了一番,本节来介绍一些特殊控件的使用 DropDownButton控件 当前控件是显示下拉功能的基本组件,其配合Gallery能实现诸多特殊功能,代码如下所示 < ...
- 密码验证连续多位相同或者顺序字符引发的思考.md
目录 密码验证连续多位相同或者顺序字符引发的思考 需求 思考 实现 总结 参考 密码验证连续多位相同或者顺序字符引发的思考 需求 虽然用户对于这种复杂的密码验证恨之入骨,但是有时出于安全的考虑,我们系 ...
- 数据库系统概述(Data Model、DBMS、DBS、RDBS、Structured Query Language)
数据Data 描述事物的符号记录成为数据. 数据是数据库中存储的基本对象. 除了基本的数字之外.像图书的名称.价格.作者都可以称为数据. 将多种数据记录列成一张表.通过数据表管理数据. 每一行的数 ...
- 11.css定义下拉菜单
注意点: 1.设置a标签的width 和 height 的时候,直接设置是没用的,可以以这样两种方式设置 (1). display:block; (2). float:left; 2.设置下拉菜单,最 ...