精通Git第二版简体中文

下载地址:https://pan.baidu.com/s/19mgLag2I4nq_Kmq1T16MfA

扫码上面二维码关注公众号回复100004 获取分享码

本书目录构造如下:

第 1章 入门 1

1.1 对于版本控制 1

1.1.1 本地版本控制系统 1

1.1.2 集中式版本控制系统 2

1.1.3 分布式版本控制系统 3

1.2 Git简史 4

1.3 Git根底 4

1.3.1 快照,而非差别 4

1.3.2 简直所有操作都在本地执行 5

1.3.3 Git的完整性 6

1.3.4 Git通常只减少数据 6

1.3.5 三种状态 7

1.4 命令行 8

1.5 装置Git 8

1.5.1 Linux上的装置办法 8

1.5.2 Mac上的装置办法 8

1.5.3 Windows上的装置办法 9

1.5.4 从源码装置 9

1.6 Git的首 次配置 10

1.6.1 用户身份 11

1.6.2 集体编辑器 11

1.6.3 查看集体设置 12

1.7 获取帮忙 12

1.8 小结 12

第 2章 Git根底 13

2.1 获取Git仓库 13

2.1.1 在现有中初始化Git仓库 13

2.1.2 克隆现有仓库 14

2.2 在Git仓库中记录变更 14

2.2.1 查看以后文件状态 15

2.2.2 跟踪新文件 16

2.2.3 暂存已批改的文件 16

2.2.4 显示更简洁的状态信息 18

2.2.5 疏忽文件 18

2.2.6 查看已暂存和未暂存的变更 19

2.2.7 提交变更 21

2.2.8 跳过暂存区 22

2.2.9 移除文件 23

2.2.10 挪动文件 24

2.3 查看提交历史 25

2.4 撤销操作 30

2.4.1 撤销已暂存的文件 30

2.4.2 撤销对文件的批改 31

2.5 近程仓库的应用 32

2.5.1 显示近程仓库 32

2.5.2 增加近程仓库 33

2.5.3 从近程仓库获取和拉取数据 34

2.5.4 将数据推送到近程仓库 34

2.5.5 查看近程仓库 35

2.5.6 删除和重命名近程仓库 36

2.6 标记 36

2.6.1 列举标签 36

2.6.2 创立标签 37

2.6.3 正文标签 37

2.6.4 轻量标签 38

2.6.5 补加标签 38

2.6.6 共享标签 39

2.6.7 检出标签 39

2.7 Git别名 40

2.8 小结 41

第3章 Git分支机制 42

3.1 分支机制简述 42

3.1.1 创立新分支 44

3.1.2 切换分支 45

3.2 根本的分支与合并操作 48

3.2.1 根本的分支操作 48

3.2.2 根本的合并操作 52

3.2.3 根本的合并抵触解决 53

3.3 分支治理 55

3.4 与分支无关的工作流 56

3.4.1 长期分支 57

3.4.2 主题分支 58

3.5 近程分支 59

3.5.1 推送 63

3.5.2 跟踪分支 64

3.5.3 拉取 66

3.5.4 删除近程分支 66

3.6 变基 66

3.6.1 根本的变基操作 66

3.6.2 更乏味的变基操作 69

3.6.3 变基操作的潜在危害 71

3.6.4 只在须要的时候执行变基操作 74

3.6.5 变基操作与合并操作的比照 75

3.7 小结 75

第4章 Git服务器 76

4.1 协定 76

4.1.1 本地协定 76

4.1.2 HTTP协定 78

4.1.3 SSH协定 79

4.1.4 Git协定 80

4.2 在服务器上搭建Git 80

4.2.1 将裸仓库搁置在服务器上 81

4.2.2 小型团队配置 82

4.3 生成集体的SSH公钥 83

4.4 设置服务器 84

4.5 Git守护过程 85

4.6 智能HTTP 87

4.7 GitWeb 88

4.8 GitLab 90

4.8.1 装置 90

4.8.2 治理 91

4.8.3 根本用法 93

4.8.4 合作 93

4.9 第三方托管抉择 94

4.10 小结 94

第5章 分布式Git 95

5.1 分布式工作流 95

5.1.1 集中式工作流 95

5.1.2 集成管理者工作流 96

5.1.3 司令官与副官工作流 97

5.1.4 工作流小结 97

5.2 为我的项目做奉献 98

5.2.1 提交准则 98

5.2.2 公有小型团队 100

5.2.3 公有治理团队 105

5.2.4 派生的公开我的项目 110

5.2.5 通过电子邮件承受补丁的公开我的项目 113

5.2.6 小结 115

5.3 保护我的项目 115

5.3.1 应用主题分支 115

5.3.2 利用来自电子邮件的补丁 116

5.3.3 检出近程分支 118

5.3.4 确定引入内容 119

5.3.5 整合所奉献的工作后果 120

5.3.6 为公布版打标签 125

5.3.7 生成构建编号 126

5.3.8 筹备公布 126

5.3.9 简报 127

5.4 小结 127

第6章 GitHub 128

6.1 账号设置与配置 128

6.1.1 SSH拜访 129

6.1.2 头像 130

6.1.3 电子邮件地址 131

6.1.4 双因素身份验证 132

6.2 为我的项目做奉献 132

6.2.1 派生我的项目 132

6.2.2 GitHub流程 133

6.2.3 拉取申请的高 级用法 140

6.2.4 Markdown 144

6.3 我的项目保护 148

6.3.1 创立新仓库 148

6.3.2 增加合作人员 150

6.3.3 治理拉取申请 150

6.3.4 揭示和告诉 155

6.3.5 非凡文件 158

6.3.6 项目管理 159

6.4 组织治理 160

6.4.1 组织的基本操作 160

6.4.2 团队 160

6.4.3 审计日志 162

6.5 GitHub脚本化 162

6.5.1 钩子零碎 162

6.5.2 GitHub API 166

6.6 小结 170

第7章 Git工具 171

7.1 抉择订正版本 171

7.1.1 单个订正版本 171

7.1.2 提交范畴 175

7.2 交互式暂存 177

7.2.1 暂存和勾销暂存文件 178

7.2.2 暂存补丁 180

7.3 储备与清理 181

7.3.1 储备工作成绩 181

7.3.2 灵活运用储备 183

7.3.3 从储备中创立分支 184

7.3.4 清理工作 184

7.4 签订工作 186

7.4.1 GPG简介 186

7.4.2 签订标签 186

7.4.3 验证标签 187

7.4.4 签订提交 187

7.4.5 所有人都得签订 189

7.5 搜寻 189

7.5.1 git grep 189

7.5.2 Git日志搜寻 190

7.6 重写历史 192

7.6.1 批改**近一次提交 192

7.6.2 批改多个提交音讯 192

7.6.3 重排提交 194

7.6.4 压缩提交 195

7.6.5 拆分提交 195

7.6.6 超强命令:filter-branch 196

7.7 重置揭秘 197

7.7.1 三棵树 198

7.7.2 工作流 199

7.7.3 重置的作用 203

7.7.4 利用门路进行重置 205

7.7.5 压缩 207

7.7.6 检出 209

7.7.7 小结 210

7.8 合并的高 级用法 211

7.8.1 合并抵触 211

7.8.2 撤销合并 220

7.8.3 其余类型的合并 222

7.9 rerere 225

7.10 应用Git调试 230

7.10.1 文件标注 230

7.10.2 二分查找 232

7.11 子模块 233

7.11.1 开始应用子模块 233

7.11.2 克隆含有子模块的我的项目 235

7.11.3 开发含有子模块的我的项目 236

7.11.4 子模块技巧 245

7.11.5 子模块的问题 246

7.12 打包 248

7.13 替换 251

7.14 凭据存储 257

7.14.1 底层实现 258

7.14.2 自定义凭据缓存 259

7.15 小结 261

第8章 自定义Git 262

8.1 配置Git 262

8.1.1 客户端根本配置 262

8.1.2 Git中的配色 265

8.1.3 内部的合并与diff工具 265

8.1.4 格式化与空白字符 268

8.1.5 服务器配置 270

8.2 Git属性 270

8.2.1 二进制文件 271

8.2.2 关键字扩大 273

8.2.3 导出仓库 276

8.2.4 合并策略 277

8.3 Git钩子 277

8.3.1 装置钩子 277

8.3.2 客户端钩子 278

8.3.3 服务器端钩子 279

8.4 Git强制策略示例 280

8.4.1 服务器端钩子 280

8.4.2 客户端钩子 285

8.5 小结 288

第9章 Git与其余零碎 289

9.1 作为客户端的Git 289

9.1.1 Git与Subversion 289

9.1.2 Git与Mercurial 298

9.1.3 Git与Perforce 305

9.1.4 Git与TFS 317

9.2 迁徙到Git 325

9.2.1 Subversion 325

9.2.2 Mercurial 327

9.2.3 Perforce 329

9.2.4 TFS 330

9.2.5 自定义导入工具 331

9.3 小结 337

第 10章 Git底细 338

10.1 底层命令和高层命令 338

10.2 Git对象 339

10.2.1 树对象 341

10.2.2 提交对象 343

10.2.3 对象存储 345

10.3 Git援用 346

10.3.1 HEAD 348

10.3.2 标签对象 348

10.3.3 近程援用 349

10.4 包文件 350

10.5 援用规格 352

10.5.1 推送援用规格 354

10.5.2 删除援用 354

10.6 传输协定 354

10.6.1 哑协定 355

10.6.2 智能协定 356

10.6.3 协定小结 359

10.7 保护与数据恢复 359

10.7.1 保护 359

10.7.2 数据恢复 360

10.7.3 移除对象 362

10.8 环境变量 365

10.8.1 全局行为 365

10.8.2 仓库地位 365

10.8.3 门路规格 366

10.8.4 提交 366

10.8.5 网络 366

10.8.6 差别与合并 367

10.8.7 调试 367

10.8.8 杂项 369

10.9 小结 369

附录A 其余环境中的Git 370

附录B 在应用程序中嵌入Git 381

附录C Git命令 390