摘要
- 思路:《红楼梦》的版本问题
- 技术出版选题(Git)(电子工业出版社 | 2016)
《红楼梦》的版本问题
- 甲戌本(名“至脂砚斋甲戌抄阅再评仍用石头记”)
- 己卯本(名“脂砚斋四阅评过,己卯冬定本”)
- 庚辰本(名“脂砚斋四阅评过,庚辰秋定本”)
- 俄藏本
- 程高本
代码分包
- Perl:pm
- Java:jar
- Node.js:npm
- Go:gvm
you can only really use Git if you understand how Git works.
Git ABC
Install
1 | wget https://github.com/git/git/archive/{tag}.tar.gz |
初始化
1 | git clone git://url |
Git 中的状态:
- HEAD 代表当前最新状态
- tag 某个状态的标签
- SHA1 每个提交的唯一标识
Git 中有四种对象,都由 SHA1 值表示, .git 目录中保存了全部信息。
- blob 文件
- tree 目录
- commit 提交历史
- tag 标签
1 | # 显示 file 在 HEAD 中的 SHA1 值 |
技术出版选题一:Git
主要思路:技术、工程实践、文化心理三者关系
1.工具需要和工程实践结合,本身存在不同的应用范式
2.每一种技术实现背后,除了操作手册,还有必要了解背后发明者的故事,
发明者的动机、哲学观会深入影响到技术实现。
3.一项技术能够落地,还需要与自己所在组织的文化、心理契合
结果:电子工业出版社:2016 选题阶段枪毙
第一部分 玩转Git
引子1:如何搭建一个免费的博客?
(类似:http://www.jianshu.com/p/fd878edb95e7 )
普遍性需求->抛出问题(内容版本、不仅仅是用于代码管理,建构个人知识库)引子2:引入开源框架遇到问题怎么办?
内容: http://www.jianshu.com/p/8addb7d0024f
(开源社区的正确打开方式)第2章 开启Git之旅
2.1 Git生态简介
谁发明? 谁在用?2.2 10分钟安装指南
Install、First Commit、First Push
部分回答引子的问题2.4 Git客户端工具集
2.5 Git服务端工具集
第二部分 源码解读
- 第3章 数据结构
- 3.1 文件
- 3.2 库
- 3.3 分支
3.2 标签
第4章 核心动作
- 4.1 add
- 4.2 commit
- 4.3 push
4.4 merge (调用关系)
第5章 从0到1: Git源码演进
- 5.1 第一版Git什么样
第三部分 工程应用
- 第6章 到底要不要使用分支?
- 6.1 个人开发者范式(最简单的入门应用范式)
- 6.2 单一产品团队范式
- 6.3 开源社区范式:以Linux开发模式为例
6.4 多项目团队范式
第7章 到底要不要分库?
- 7.1 分库的一般原则
7.2 极客模式(参考资料:Google所有代码都在一个库)
第8章 权限控制问题
企业应用的突出问题: Git为什么不支持代码分权分域?
发明者:自由软件原教旨主义 & 开源社区
了解冲突、选型过程、企业适配
第四部分 附录
《Linus Torvalds TED访谈实录:Linux和Git的故事》
(为什么会有Git,Git与Linux的渊源)
Git源码解读
Git data model
Repository
- Branch
- Merge
- Collaborate
可选论题:Git为什么不支持代码分权分域:作者是自由软件原教旨主义者;源于Linux开发模式
竞品分析
Tips
1 | $ git pull origin master |
扩展阅读:DevOps 漫谈系列
DevOps 实践的本质是文化
- 学习力-团队生命之根
- 带领团队翻译书籍
- Don’t make me think
- 凡是被很多人不断重复的好习惯,要将其自动化整合到工具