《Pro git》】的更多相关文章

之前做版本管理,我使用最多的是SVN,而且也只是在用一些最常用的操作.最近公司里很多项目都开始上Git,借这个机会,我计划好好学习一下Git的操作和原理,以及蕴含在其中的设计思想.同事推荐了一本<Pro Git>,读起来感觉很好,在这里分享下阅读时的思考.此书的在线阅读地址:http://iissnan.com/progit/ 第一章 起步 这一章介绍了Git的相关历史和基本特点,以及安装配置方法.这里提到的Git的特点包括“直接记录快照,而非差异比较”.“近乎所有操作都是本地执行”.“时刻保…
<Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和分支 git提交时会将暂存文件的内容,暂存的目录结构,提交对象,含附注标签对象都以包含信息头的二进制文件形式存储到版本库中(.git/objects目录),存储的对象以其自身SHA1值作为唯一标识,SHA1前两位为存储对象所在目录名,SHA1后38位为存储对象的文件名.存储的数据对象类型有: blob(文件内…
可以通过阅读 CODING 工程师参与翻译的 <Pro Git> 进一步掌握 Git 版本控制系统. https://git-scm.com/book/zh/v2…
转自 https://kindlefere.com/post/333.html 什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制. 如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能),采用版本控制系统(VCS)是个明智的选择.有了它你就可以将某个文件回溯到之前的…
第二章 Git基础 Git基础包括:版本库的创建和获取,文件添加修改提交等基本操作,状态查询,远程版本库管理和同步,打标签. 1.取得项目的Git版本库 基于Git的工作流要以Git版本库为基础,即可以直接创建一个新的本地版本库,也可以将一个已有的远程版本库克隆到本地. (1)创建新的本地版本库 在一个目录中执行git init命令,会在该目录中建立.git的目录,里面存放了Git需要的所有数据和资源,自然包括一个空的本地版本库. git init 然后就是向这个本地版本库中存放版本数据了.先使…
第一章 起步 1.关于版本控制 版本控制用于记录和追踪目录结构和文件内容变化,能够追溯过去的任何修改和变化,并恢复到任何历史状态. 版本控制系统可以按照发展过程分成以下几类: 目录备份.记录版本变化最简单的方法就是复制项目,根据目录名字区分不同版本或时间点. 本地版本控制系统.每次都备份完整的目录,在多个版本目录中就会存在很多份完全一样的冗余文件,为了解决这个问题,又出现了将不同版本的差异保存成补丁的本地版本控制系统,如比较流行rcs命令. 集中化的版本控制系统.本地版本控制系统还是不便于多人协…
1.Git远程模型示意图 Remote:远程仓库 Repository:本地仓库 Index:暂存区 workspace:当前工作区 2.取得Git仓库 2.1 初始化新仓库     git init 2.2 从现有仓库克隆     git clone git://github.com/xxx/xxx.git [dirName] 3.记录每次更新到仓库 3.1 文件状态变化周期 3.2 检查当前文件的状态     git status 3.3 跟踪新文件     git add <fileNam…
1.分支简介 git保存的不是文件的差异,而是不同时刻的文件快照 git仓库中的对象: commit对象:包含指向前一个commit的指针的所有提交信息 树对象:记录目录结构和blob对象索引 blob对象:保存着文件快照 HEAD指针:指向当前所在的本地分支,可认为是当前分支的别名 git log --oneline --decorate 使用--decorate查看各个分支当前所指的commit对象 git log --oneline --decorate --graph --all ,它会…
1.获取Git仓库 1.1从现有的目录中初始化仓库 进入项目目录,git init,会创建一个名为.git的子目录 1.2克隆现有的仓库 git clone [url],会将远程Git仓库中的每一个文件的每一个版本都拉取下来 git传输协议,https://,git://,ssh传输协议 2.记录每次更新到仓库 文件状态变化周期 检查当前文件状态:git status 跟踪新文件or暂存已修改:git add README,注:对于git add,如果参数是目录,将会将目录下所有文件追踪 忽略文…
关于版本控制 什么是版本控制:记录文件内容变化,将来可查阅特定版本修订情况的系统. 版本控制演进 1)本地版本控制系统 2)集中化的版本控制系统(Centralized Version Control System)CVCS 示例:CVS.Subversion.Perforce 原理:有一个集中管理的服务器,保存所有文件的修订版本,通过客户端连到服务器,取出更新的文件或提交更新. 缺点:中央服务器单点故障 1)宕机1小时,1小时内无法提交更新 2)中心数据库磁盘损坏,整个项目变更历史丢失 3)分…