Git权威指南
2020-04-07 14:21:02 0 举报
AI智能生成
Git权威指南
作者其他创作
大纲/内容
第6篇 迁移到Git
34 CVS版本库到Git的迁移
34.1 安装cvs2svn(含cvs2git)
34.2 版本库转换的准备工作
34.3 版本库转换
34.4 迁移后的版本库检查
35 更多版本控制系统的迁移
35.1 SVN版本库到Git的迁移
35.2 Hg版本库到Git的迁移
35.3 通用版本库迁移
35.4 Git版本库整理
第7篇 Git的其他应用
36 etckeeper
36.1 安装etckeeper
36.2 配置etckeeper
36.3 使用etckeeper
37 Gistore
37.1 Gistore的安装
37.2 Gistore的使用
37.3 Gistore双机备份
38 补丁中的二进制文件
38.1 Git版本库中二进制文件变更的支持
38.2 对非Git版本库中二进制文件变更的支持
38.3 其他工具对Git扩展补丁文件的支持
39 云存储
39.1 现有云存储的问题
39.2 Git式云存储畅想
第8篇 Git杂谈
40 跨平台操作Git
40.1 字符集问题
40.2 文件名大小写问题
40.3 换行符问题
41 Git的其他特性
41.1 属性
41.2 钩子和模板
41.3 稀疏检出和浅克隆
41.4 嫁接和替换
41.5 Git评注
第9篇 附录
附录A Git命令索引
A.1 常用的Git命令
A.2 对象库操作相关命令
A.3 引用操作相关命令
A.4 版本库管理相关命令
A.5 数据传输相关命令
A.6 邮件相关命令
A.7 协议相关命令
A.8 版本库转换和交互相关命令
A.9 合并相关的辅助命令
A.10 杂项
附录B Git与CVS面对面
B.1 面对面访谈录
B.2 Git和CVS命令对照
附录C Git与SVN面对面
C.1 面对面访谈录
C.2 Git和SVN命令对照
附录D Git与Hg面对面
D.1 面对面访谈录
D.2 Git和Hg命令对照
第1篇 初识Git
1 版本控制的前世和今生
1.1 黑暗的史前时代
1.2 CVS——开启版本控制大爆发
1.3 SVN——集中式版本控制集大成者
1.4 Git——Linus的第二个伟大作品
2 爱上Git的理由
2.1 每日工作备份
2.2 异地协同工作
2.3 现场版本控制
2.4 避免引入辅助目录
2.5 重写提交说明
2.6 想吃后悔药
2.7 更好用的提交列表
2.8 更好的差异比较
2.9 工作进度保存
2.10 代理SVN提交实现移动式办公
2.11 无处不在的分页器
2.12 快
3 Git的安装和使用
3.1 在Linux下安装和使用Git
3.2 在Mac OS X下安装和使用Git
3.3 在Windows下安装和使用Git(Cygwin篇)
3.4 Windows下安装和使用Git(msysGit篇)
第2篇 Git独奏
4 Git初始化
4.1 创建版本库及第一次提交
4.2 思考:为什么工作区根目录下有一个.git目录
4.3 思考:git config命令的各参数有何区别
4.4 思考:是谁完成的提交
4.5 思考:随意设置提交者姓名,是否太不安全
4.6 思考:命令别名是干什么的
4.7 备份本章的工作成果
5 Git暂存区
5.1 修改不能直接提交吗
5.2 理解Git暂存区(stage)
5.3 Git Diff魔法
5.4 不要使用git commit-a
5.5 搁置问题,暂存状态
6 Git对象
6.1 Git对象库探秘
6.2 思考:SHA1哈希值到底是什么,是如何生成的
6.3 思考:为什么不用顺序的数字来表示提交
7 Git重置
7.1 分支游标master探秘
7.2 用reflog挽救错误的重置
7.3 深入了解git reset命令
8 Git检出
8.1 HEAD的重置即检出
8.2 挽救分离头指针
8.3 深入了解git checkout命令
9 恢复进度
9.1 继续暂存区未完成的实践
9.2 使用git stash
9.3 探秘git stash
10 Git基本操作
10.1 先来合个影
10.2 删除文件
10.3 恢复删除的文件
10.4 移动文件
10.5 一个显示版本号的Hello World
10.6 使用git add-i选择性添加
10.7 Hello World引发的新问题
10.8 文件忽略
10.9 文件归档
11 历史穿梭
11.1 图形工具:gitk
11.2 图形工具:gitg
11.3 图形工具:qgit
11.4 命令行工具
12 改变历史
12.1 悔棋
12.2 多步悔棋
12.3 回到未来
12.4 丢弃历史
12.5 反转提交
13 Git克隆
13.1 鸡蛋不装在一个篮子里
13.2 对等工作区
13.3 克隆生成裸版本库
13.4 创建生成裸版本库
14 Git库管理
14.1 对象和引用哪里去了
14.2 暂存区操作引入的临时对象
14.3 重置操作引入的对象
14.4 Git管家:git-gc
14.5 Git管家的自动执行
第3篇 Git和声
15 Git协议与工作协同
15.1 Git支持的协议
15.2 多用户协同的本地模拟
15.3 强制非快进式推送
15.4 合并后推送
15.5 禁止非快进式推送
16 冲突解决
16.1 拉回操作中的合并
16.2 合并一:自动合并
16.3 合并二:逻辑冲突
16.4 合并三:冲突解决
16.5 合并四:树冲突
16.6 合并策略
16.7 合并相关的设置
17 Git里程碑
17.1 显示里程碑
17.2 创建里程碑
17.3 删除里程碑
17.4 不要随意更改里程碑
17.5 共享里程碑
17.6 删除远程版本库的里程碑
17.7 里程碑命名规范
18 Git分支
18.1 代码管理之殇
18.2 分支命令概述
18.3 “Hello World”开发计划
18.4 基于特性分支的开发
18.5 基于发布分支的开发
18.6 分支变基
19 远程版本库
19.1 远程分支
19.2 分支追踪
19.3 远程版本库
19.4 PUSH和PULL操作与远程版本库
19.5 里程碑和远程版本库
19.6 分支和里程碑的安全性
20 补丁文件交互
20.1 创建补丁
20.2 应用补丁
20.3 StGit和Quilt
第4篇 Git协同模型
21 经典Git协同模型
21.1 集中式协同模型
21.2 社交网络式协同模型
22 Topgit协同模型
22.1 作者版本控制系统的三个里程碑
22.2 Topgit原理
22.3 Topgit的安装
22.4 Topgit的使用
22.5 用Topgit方式改造Topgit
22.6 Topgit使用中的注意事项
23 子模组协同模型
23.1 创建子模组
23.2 克隆带子模组的版本库
23.3 在子模组中修改和子模组的更新
23.4 隐性子模组
23.5 子模组的管理问题
24 子树合并
24.1 引入外部版本库
24.2 子目录方式合并外部版本库
24.3 利用子树合并跟踪上游改动
24.4 子树拆分
24.5 git-subtree插件
25 Android式多版本库协同
25.1 关于repo
25.2 安装repo
25.3 repo和清单库的初始化
25.4 清单库和清单文件
25.5 同步项目
25.6 建立Android代码库本地镜像
25.7 repo的命令集
25.8 repo命令的工作流
25.9 好东西不能Android独享
26 Git和SVN协同模型
26.1 使用git-svn的一般流程
26.2 git-svn的奥秘
26.3 多样的git-svn克隆模式
26.4 共享git-svn的克隆库
26.5 git-svn的局限
第5篇 搭建Git服务器
27 使用HTTP协议
27.1 哑传输协议
27.2 智能HTTP协议
27.3 Gitweb服务器
28 使用Git协议
28.1 Git协议语法格式
28.2 Git服务软件
28.3 以inetd方式配置运行
28.4 以runit方式配置运行
29 使用SSH协议
29.1 SSH协议语法格式
29.2 服务架设方式比较
29.3 关于SSH公钥认证
29.4 关于SSH主机别名
30 Gitolite服务架设
30.1 安装Gitolite
30.2 管理Gitolite
30.3 Gitolite授权详解
30.4 版本库授权案例
30.5 创建新版本库
30.6 对Gitolite的改进
30.7 Gitolite功能拓展
31 Gitosis服务架设
31.1 安装Gitosis
31.2 管理Gitosis
31.3 Gitosis授权详解
31.4 创建新版本库
31.5 轻量级管理的Git服务
32 Gerrit代码审核服务器
32.1 Gerrit的实现原理
32.2 架设Gerrit的服务器
32.3 Gerrit的配置文件
32.4 Gerrit的数据库访问
32.5 立即注册为Gerrit管理员
32.6 管理员访问SSH的管理接口
32.7 创建新项目
32.8 从已有的Git库创建项目
32.9 定义评审工作流
32.10 Gerrit评审工作流实战
32.11 更多Gerrit参考
33 Git版本库托管
33.1 Github
33.2 Gitorious
0 条评论
下一页