git_community_book_notes:Introduction
2015-11-03 22:44
190 查看
1起源
2目标
3版本控制系统
3-1集中式版本控制系统
3-2 分布式版本控制系统
GIT对象模型
集中式的版本控制系统不好用
商用的分布式版本控制系统BitKeeper的停止授权
简单的设计
对非线性开发模式的强力支持
完全分布式
有能力搞笑管理类似Linux内核一样的超大规模项目
有一个单一的集中管理的服务器,保存所有文件的修订版本
如果中央服务器坏了。。。
安全性更高
提供服务器,但是仅仅是用来方便”交换“大家的修改。
- 通过一个40字符的”对象名“来索引用来表示项目历史信息的文件, SHAI哈希计算得到值
- 好处
- git只需要比较对象名,就可以判断对象
- 不同仓库中相同的内容会存放在相同“对象名”下
- 检查对象名和内容的SHAI哈希值,盘对对象内容是否正确
1. 对象
- 类型
- blob 类型用来存储文件数据, git show查看
- tree 有点像一个目录,用来管理一些tree和blob:git ls-tree看到更多tree的细节
- commit指向一个tree,用来标记某一个特定时间点的状态
- tag用来标记某一次提交的方法:
- 大小
- 内容
-
1. GIT目录与工作目录
1. Git目录:你的项目存储所有历史和元信息的目录, .git
1. 工作目录:存储着你现在签出来用来编辑的文件
1. GIT索引:一个在你的工作目录和项目仓库间的暂存区
1. 查看索引 git status
2目标
3版本控制系统
3-1集中式版本控制系统
3-2 分布式版本控制系统
GIT对象模型
1起源:
绝大多数Linux内核维护工作都花在了提交补丁和保存归档的繁琐事务上集中式的版本控制系统不好用
商用的分布式版本控制系统BitKeeper的停止授权
2目标
速度简单的设计
对非线性开发模式的强力支持
完全分布式
有能力搞笑管理类似Linux内核一样的超大规模项目
3版本控制系统
3-1集中式版本控制系统
版本库是集中存放在中央服务器的。有一个单一的集中管理的服务器,保存所有文件的修订版本
如果中央服务器坏了。。。
3-2 分布式版本控制系统
每个人的电脑都是一个完整的版本库安全性更高
提供服务器,但是仅仅是用来方便”交换“大家的修改。
4 GIT对象模型
1. SHA- 通过一个40字符的”对象名“来索引用来表示项目历史信息的文件, SHAI哈希计算得到值
- 好处
- git只需要比较对象名,就可以判断对象
- 不同仓库中相同的内容会存放在相同“对象名”下
- 检查对象名和内容的SHAI哈希值,盘对对象内容是否正确
1. 对象
- 类型
- blob 类型用来存储文件数据, git show查看
- tree 有点像一个目录,用来管理一些tree和blob:git ls-tree看到更多tree的细节
- commit指向一个tree,用来标记某一个特定时间点的状态
- tag用来标记某一次提交的方法:
- 大小
- 内容
-
1. GIT目录与工作目录
1. Git目录:你的项目存储所有历史和元信息的目录, .git
1. 工作目录:存储着你现在签出来用来编辑的文件
1. GIT索引:一个在你的工作目录和项目仓库间的暂存区
1. 查看索引 git status
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git fork同步是什么意思?
- Git使用小坑 Out of memory错误的解决方法
- Python的高级Git库 Gittle
- 使用GIT进行源码管理――GUI客户端小结
- 使用git代替FTP部署代码到服务器的例子
- linux系统安装git及git常用命令
- 分享下自己总结的Git常用命令
- Git 常用命令速查表(图文+表格)
- mac git xcrun error active developer path 错误