精通Git
下载地址: https://pan.baidu.com/s/12kJefrDUhvsPhvfBug2VEA
扫码下面二维码关注公众号回复100012 获取分享码
本书目录结构如下:
ProGit. . . . . . . . . . . . . . . . . . . . . . 1
Scott Chacon 序 . . . . . . . . . . . . . . . . . . . . . 2
Ben Straub 序 . . . . . . . . . . 3
献辞 . . . . . . . .. . . . . . . . . . . . . . . . . . 4
起步 . . . . . . . . 5
关于版本控制 . . . . . . . . . . . . . . . . 5
Git 简史 . . . . . . . . . . . . . . . . 9
Git 基础 . . . . . . . . . . . . . . . . 9
命令行 . . . . . . . . . . . . . . . . . . . . 12
安装 Git . . . . . . . .. . . . . . . . . 13
初次运行 Git 前的配置. . . . . . . . . . . . . .. . . . . . . . . . 15
获取帮助 . . . . . . . . . . . . . . . . . 17
总结 . . . . . . . . . . . . . . . . 17
Git 基础 . . . . . . . . . . . . . . . . . . . . 18
获取 Git 仓库. . . . . . . . . . . . . . . . . . . 18
记录每次更新到仓库 . . . . . . . . .. . . . . . . . 19
查看提交历史 . . . . . . . . . . . . . . . . 31
撤消操作 . . . .. . . . . . . . . . . . . . . . . 38
远程仓库的使用 . . . . . . . . . . . . . . . . . . . . 40
打标签 . . . . . . . . . . . . . . . . .. . . . . . . . . . . . 45
Git 别名 . . . . . . . . . . . .. . . . . . . . . . . . . . . . 49
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Git 分支 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
分支简介 . . . . . . . . .. . . . . . . . . . . . . . . . . 51
分支的新建与合并 . . . . . . . . . . . . . . . . . . . . . 58
分支管理 . . . . . . .. . . . . . . . . . . . . . . . . . 67
分支开发工作流 . . . . . . . . . . . . . . . . . . 69
远程分支 . . . . . . . . . . . . . . . . . . . . 73
变基 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
总结 . . .. . . . . . . . . . . . . . . . . . . . . . . . . 92
服务器上的 Git . . . . . . . . . . 93
协议 . . . . . . . . . . . . . . . . . 93
在服务器上搭建 Git . . . . . . .. . . . . . . . . . 97
生成 SSH 公钥 . . . . . . . . . . . . . . . 99
配置服务器 . . . . . . . . . . . . . . . . . . . 100
Git 守护进程 . . . . . . . . . . . . . . . . . . . . . 102
Smart HTTP . . . . .. . . . . . . . 104
GitWeb . . . . . . . . . . . . . . . . . . . 105
GitLab . . . . . . . . . . . . . . . . . . 107
第三方托管的选择 . . . . . . . . . . . . . . . . . 111
总结 . . . . . . . . . . . . . . . . . . . 112
分布式 Git. . . . . . . . . . . . . . . . . . . . . . 113
分布式工作流程 . . . . . . . . . . . . . . . . . . . . . . . 113
向一个项目贡献 . . . . . . . . . .. . . . . . . 116
维护项目 . . . . . . . . . . . . . . . . . . 138
总结 . . . . . . . . . . . . . . . . . . . . . . . 152
GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . 153
账户的创建和配置 . . . . . . . . . .. . . . . . . . 153
对项目做出贡献 . . . . . . . . . .. . . . . 158
维护项目 . . . . . . . . . . . . . . . 176
管理组织 . . . . . . . . . . . . . . . . . 191
脚本 GitHub . . .. . . . . . . . 194
总结 . . . . . . . . . . . . . . . . . . 205
Git 工具. . . . . . . . . . . . . . . 206
选择修订版本 . . . . . . . . . . 206
交互式暂存 . . . . . . . . . . . . . . . . . . . . . 213
储藏与清理 . . . . . . . . . . . . . . . . . . . . . . . 217
签署工作 . . . . . . . . . . . . . . . . . . . . . . 223
搜索 . . . . . . . . . . . . . . . . . 227
重写历史 . . . . . . . . . .. . . . 231
重置揭密 . . . . . . . . . . . . . . . . . 237
高级合并 . . . . . . . . . . . . . . 258
Rerere . . . . . . . . . . . . . . . . . . 277
使用 Git 调试 . . . . . . . . . . . . . 283
子模块 . . . . . . . . .. . . . . . . . . . . . . . 287
打包 . . . . . . . . . . . . . . . . . . . . . . . . . . 306
替换 . . . . . . . . . . . . . . . . . . . . . . . . 310
凭证存储 . . . . . . . . . . . . .. . . . . . . . . 318
总结 . . . . . . . . . . . . . . 323
自定义 Git. . . . . . . . . . . . . . . . . . . . . . . 324
配置 Git . . . . . . . . . . . . . . . . . . . . . . . . . 324
Git 属性 . . . . . . . . . .. . . . . . . . . . . . . . 334
Git 钩子 . . . . . . . . . . . . . . . . . . . . . . . . . 342
使用强制策略的一个例子 . . . . . . . . . . . . . . . . . . 345
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Git 与其他系统 . . . . . .. . . . . . . . . . . . 355
作为客户端的 Git . . . . . . . . . . . . . . 355
迁移到 Git . . . . . . . . . . . . . . . . . . . . 400
总结 . . . . . . . . . . . . . . . 415
Git 内部原理. . . . . . . . . . . . . . . . . . . . . . . . 416
底层命令和高层命令 . . . . . . . . . . . . . . . 416
Git 对象 . . . . .. . . . . . . . . . . . . . . . . 417
Git 引用 . . . . . . . . . . . . . . . . . . . . . . . . 427
包文件 . . . . . . . . . . . . . . . . . . . . . . . . 431
引用规格 . . . . . . . . .. . . . . . . . . . 434
传输协议 . . . . . . . . . . . . . 437
维护与数据恢复 . . . . . . . . . . . . . . . . . . 442
环境变量 . . . . . . . . . . . . . . . . . . . . 449
总结 . . . . . . . . . . . . . . . . . . . . 455
Appendix A: 其它环境中的 Git . . . . . . . . . . .. . . . . . . 457
图形界面 . . . . .. . . . . . . . . . . . . . . . 457
Visual Studio 中的 Git . . . . . . . . . . . . . . . . 462
Eclipse 中的 Git . . . . . . . . . . . . . . . . . . . 464
Bash 中的 Git . . . . . . . . . . . . . . . . . . . . 464
Zsh 中的 Git . . . . . . . . . . . . . . . . 465
Powershell 中的 Git . . . . . . . . . . . . . . . 467
总结 . . . . .. . . . . . . . . . . . . . 468
Appendix B: 将 Git 嵌入你的应用 . . . . . . . . . . . . . . . . 469
命令行 Git 方式 . . . . . . . . . . . . . 469
Libgit2. . . . . . . . . . . . . . . . . . 469
JGit . . . . . . . . . . . . . . . . . . . . 474
Appendix C: Git 命令 . . . . .. . . . 479
设置与配置 . . . . . . . . . . . . . . . 479
获取与创建项目 . . . . . . . . . . . . . . . . . . 479
快照基础 . . . . . . . . . . . . . . . . 480
分支与合并 . . . . . . . . .. . . . . . . 483
项目分享与更新 . . . . . . . . . . . . 485
检查与比较 . . . . . . . . . . . . . . . . . . . . 486
调试 . . . . . . . . . .. . . . . . . . . . . . . . . . 487
补丁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
邮件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
外部系统 . . . . . . . . . . . . . . . . . . . . . . . . . 490
管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
底层命令 . . . . . . . . . . . . . . . . . . 491