乐趣区

关于git:精通Git第二版简体中文

精通 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

退出移动版