《Pro Git中文版》
高效的版本控制是成功开发软件项目的关键。自2005年诞生以来,Git以其分布式特点和对非线性开发的强有力支持,成为了许多软件项目的版本控制系统。本书不仅是Git日常操作指南,而且深入剖析了Git的内部原理,能有效帮助程序员提升软技能。如果你刚刚启程探索Git,本书对于Git的用法、基本命令和分支机制的讲解将助你轻松入门、不走弯路。如果你在Git之路上已经走了一些时日,本书关于Git服务器、配置文件和钩子系统的内容将为你补充继续前行所需的能量。如果你不得不同时使用Git和其他版本控制系统,本书会教你如何将Git作为客户端来轻松应对此种情景。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561
| 目录
章 入门 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 协议 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 智能 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
0章 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
|
最后,这里为大家准备了几百本的互联网电子书,有需要的过来取吧。点击获取
本页书籍均来自网络,如有侵权,请联系我立即删除。我的邮箱:yaojianguolq@163.com