图书介绍
Git权威指南PDF|Epub|txt|kindle电子书版本网盘下载
- 蒋鑫著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111349679
- 出版时间:2011
- 标注页数:598页
- 文件大小:57MB
- 文件页数:626页
- 主题词:软件工具-程序设计
PDF下载
下载说明
Git权威指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 初识Git2
第1章 版本控制的前世和今生2
1.1黑暗的史前时代2
1.2 CVS——开启版本控制大爆发5
1.3 SVN——集中式版本控制集大成者7
1.4 Git—— Linus的第二个伟大作品9
第2章 爱上Git的理由/11
2.1每日工作备份11
2.2异地协同工作12
2.3现场版本控制13
2.4避免引入辅助目录15
2.5重写提交说明15
2.6想吃后悔药16
2.7更好用的提交列表17
2.8更好的差异比较18
2.9工作进度保存18
2.10代理SVN提交实现移动式办公19
2.11无处不在的分页器20
2.12快21
第3章Git的安装和使用22
3.1在Linux下安装和使用Git22
3.1.1包管理器方式安装22
3.1.2从源代码进行安装23
3.1.3从Git版本库进行安装23
3.1.4命令补齐25
3.1.5中文支持25
3.2在Mac OS X下安装和使用Git26
3.2.1以二进制发布包的方式安装26
3.2.2安装Xcode627
3.2.3使用Homebrew安装Git29
3.2.4从Git源码进行安装29
3.2.5命令补齐30
3.2.6其他辅助工具的安装30
3.2.7中文支持31
3.3在Windows下安装和使用Git (Cygwin篇)31
3.3.1安装Cygwin32
3.3.2安装Git36
3.3.3 Cygwin的配置和使用37
3.3.4 Cygwin下Git的中文支持40
3.3.5 Cygwin下Git访问SSH服务41
3.4 Windows下安装和使用Git (msysGit篇)45
3.4.1安装msysGit46
3.4.2 msysGit的配置和使用48
3.4.3 msysGit中shell环境的中文支持49
3.4.4 msysGit中Git的中文支持50
3.4.5使用SSH协议51
3.4.6 TortoiseGit的安装和使用52
3.4.7 TortoiseGit的中文支持55
第2篇Git独奏58
第4章Git初始化58
4.1创建版本库及第一次提交58
4.2思考:为什么工作区根目录下有一个git目录60
4.3思考:git config命令的各参数有何区别63
4.4思考:是谁完成的提交65
4.5思考:随意设置提交者姓名,是否太不安全67
4.6思考:命令别名是干什么的68
4.7备份本章的工作成果69
第5章Git暂存区70
5.1修改不能直接提交吗70
5.2理解Git暂存区(stage)76
5.3 Git Diff魔法78
5.4不要使用git commit -a81
5.5搁置问题,暂存状态82
第6章Git对象83
6.1 Git对象库探秘83
6.2思考:SHA 1哈希值到底是什么,是如何生成的88
6.3思考:为什么不用顺序的数字来表示提交90
第7章Git重置93
7.1分支游标master探秘93
7.2用reflog挽救错误的重置95
7.3深入了解git reset命令96
第8章Git检出99
8.1 HEAD的重置即检出99
8.2挽救分离头指针102
8.3深入了解git checkout命令103
第9章 恢复进度105
9.1继续暂存区未完成的实践105
9.2使用git stash108
9.3探秘git stash109
第10章Git基本操作114
10.1先来合个影114
10.2删除文件114
10.2.1本地删除不是真的删除115
10.2.2执行git rm命令删除文件116
10.2.3命令git add -u快速标记删除117
10.3恢复删除的文件118
10.4移动文件119
10.5一个显示版本号的Hello World120
10.6使用git add -i选择性添加122
10.7 Hello World引发的新问题124
10.8文件忽略125
10.9文件归档129
第11章 历史穿梭130
11.1图形工具:gitk130
11.2图形工具:gitg131
11.3图形工具:qgit135
11.4命令行工具140
11.4.1版本表示法: git rev-parse141
11.4.2版本范围表示法:git rev-list144
11.4.3浏览日志:gitlog146
11.4.4差异比较:git di150
11.4.5文件追溯:git blame151
11.4.6二分查找:git bisect152
11.4.7获取历史版本156
第12章 改变历史157
12.1悔棋157
12.2多步悔棋159
12.3回到未来161
12.3.1时间旅行一162
12.3.2时间旅行二167
12.3.3时间旅行三171
12.4丢弃历史174
12.5反转提交177
第13章Git克隆179
13.1鸡蛋不装在一个篮子里179
13.2对等工作区180
13.3克隆生成裸版本库183
13.4创建生成裸版本库184
第14章Git库管理187
14.1对象和引用哪里去了187
14.2暂存区操作引入的临时对象189
14.3重置操作引入的对象191
14.4 Git管家:git-gc193
14.5 Git管家的自动执行196
第3篇Git和声200
第15章Git协议与工作协同200
15.1 Git支持的协议200
15.2多用户协同的本地模拟202
15.3强制非快进式推送203
15.4合并后推送207
15.5禁止非快进式推送208
第16章 冲突解决210
16.1拉回操作中的合并210
16.2合并一:自动合并212
16.2.1修改不同的文件212
16.2.2修改相同文件的不同区域214
16.2.3同时更改文件名和文件内容215
16.3合并二:逻辑冲突217
16.4合并三:冲突解决218
16.4.1手工编辑完成冲突解决221
16.4.2图形工具完成冲突解决221
16.5合并四:树冲突225
16.5.1手工操作解决树冲突227
16.5.2交互式解决树冲突228
16.6合并策略230
16.7合并相关的设置231
第17章Git里程碑233
17.1显示里程碑234
17.2创建里程碑236
17.2.1轻量级里程碑237
17.2.2带说明的里程碑238
17.2.3带签名的里程碑239
17.3删除里程碑242
17.4不要随意更改里程碑243
17.5共享里程碑243
17.6删除远程版本库的里程碑246
17.7里程碑命名规范247
第18章Git分支253
18.1代码管理之殇253
18.1.1发布分支253
18.1.2特性分支256
18.1.3卖主分支257
18.2分支命令概述258
18.3 “Hello World”开发计划259
18.4基于特性分支的开发260
18.4.1创建分支userl/getopt261
18.4.2创建分支user2/i18n262
18.4.3开发者user l完成功能开发263
18.4.4将userl/getopt分支合并到主线264
18.5基于发布分支的开发265
18.5.1创建发布分支266
18.5.2开发者userl工作在发布分支267
18.5.3开发者user2工作在发布分支268
18.5.4开发者user2合并推送270
18.5.5发布分支的提交合并到主线271
18.6分支变基275
18.6.1完成user2/i 18n特性分支的开发275
18.6.2分支user2/i 18n变基277
第19章 远程版本库284
19.1远程分支284
19.2分支追踪287
19.3远程版本库290
19.4 PUSH和PULL操作与远程版本库292
19.5里程碑和远程版本库294
19.6分支和里程碑的安全性294
第20章 补丁文件交互296
20.1创建补丁296
20.2应用补丁297
20.3 StGit和Quilt300
20.3.1 StGit300
20.3.2 Quilt304
第4篇Git协同模型308
第21章 经典Git协同模型308
21.1集中式协同模型308
21.1.1传统集中式协同模型309
21.1.2 Gerrit特殊的集中式协同模型310
21.2金字塔式协同模型311
21.2.1贡献者开放只读版本库312
21.2.2以补丁方式贡献代码313
第22章Topgit协同模型314
22.1作者版本控制系统的三个里程碑314
22.2 Topgit原理316
22.3 Topgit的安装317
22.4 Topgit的使用319
22.5用Topgit方式改造Topgit330
22.6 Topgit使用中的注意事项334
第23章 子模组协同模型336
23.1创建子模组336
23.2克隆带子模组的版本库339
23.3在子模组中修改和子模组的更新340
23.4隐性子模组343
23.5子模组的管理问题345
第24章 子树合并347
24.1引入外部版本库347
24.2子目录方式合并外部版本库349
24.3利用子树合并跟踪上游改动351
24.4子树拆分353
24.5 git-subtree插件353
第25章Android式多版本库协同356
25.1关于repo357
25.2安装repo357
25.3 repo和清单库的初始化359
25.4清单库和清单文件360
25.5同步项目361
25.6建立Android代码库本地镜像363
25.7 repo的命令集365
25.8 repo命令的工作流370
25.9好东西不能Android独享371
25.9.1 repo+Gerrit模式371
25.9.2 repo无审核模式371
25.9.3改进的repo无审核模式372
第26章Git和SVN协同模型378
26.1使用git-svn的一般流程380
26.2 git-svn的奥秘386
26.2.1 Git库配置文件的扩展及分支映射387
26.2.2 Git工作分支和Subversion如何对应388
26.2.3其他辅助文件390
26.3多样的git-svn克隆模式390
26.4共享git-svn的克隆库393
26.5 git-svn的局限394
第5篇 搭建Git服务器398
第27章 使用HTTP协议398
27.1哑传输协议398
27.2智能HTTP协议400
27.3 Gitweb服务器401
27.3.1 Gitweb的安装402
27.3.2 Gitweb的配置403
27.3.3版本库的Gitweb相关设置404
27.3.4即时Gitweb服务405
第28章 使用Git协议406
28.1 Git协议语法格式406
28.2 Git服务软件406
28.3以inetd方式配置运行406
28.4以runit方式配置运行407
第29章 使用SSH协议409
29.1 SSH协议语法格式409
29.2服务架设方式比较409
29.3关于SSH公钥认证411
29.4关于SSH主机别名411
第30章Gitolite服务架设413
30.1安装Gitolite414
30.1.1服务器端创建专用账号414
30.1.2 Gitolite的安装升级415
30.1.3关于SSH主机别名417
30.1.4其他的安装方法418
30.2管理Gitolite419
30.2.1管理员克隆gitolite-admin管理库419
30.2.2增加新用户420
30.2.3更改授权422
30.3 Gitolite授权详解423
30.3.1授权文件的基本语法423
30.3.2定义用户组和版本库组424
30.3.3版本库ACL424
30.3.4 Gitolite授权机制426
30.4版本库授权案例427
30.4.1对整个版本库进行授权427
30.4.2通配符版本库的授权428
30.4.3用户自己的版本库空间429
30.4.4对引用的授权:传统模式430
30.4.5对引用的授权:扩展模式430
30.4.6对引用的授权:禁用规则的使用431
30.4.7用户分支431
30.4.8对路径的写授权432
30.5创建新版本库432
30.5.1在配置文件中出现的版本库,即时生成433
30.5.2通配符版本库,管理员通过推送创建434
30.5.3直接在服务器端创建435
30.6对Gitolite的改进435
30.7 Gitolite功能拓展436
30.7.1版本库镜像436
30.7.2 Gitweb和Git daemon支持438
30.7.3其他功能拓展和参考439
第31章Gitosis服务架设441
31.1安装Gitosis442
31.1.1 Gitosis的安装442
31.1.2服务器端创建专用账号442
31.1.3 Gitosis服务初始化443
31.2管理Gitosis443
31.2.1管理员克隆gitolit-admin管理库443
31.2.2增加新用户444
31.2.3更改授权446
31.3 Gitosis授权详解447
31.3.1 Gitosis默认设置447
31.3.2管理版本库gitosis-admin447
31.3.3定义用户组和授权448
31.3.4 Gitweb整合449
31.4创建新版本库449
31.5轻量级管理的Git服务450
第32章Gerrit代码审核服务器452
32.1 Gert的实现原理452
32.2架设Gerrit的服务器456
32.3 Gerrit的配置文件461
32.4 Gerrit的数据库访问462
32.5立即注册为Gerrit管理员464
32.6管理员访问SSH的管理接口467
32.7创建新项目468
32.8从已有的Git库创建项目472
32.9定义评审工作流473
32.10 Gerrit评审工作流实战477
32.10.1开发者在本地版本库中工作477
32.10.2开发者向审核服务器提交478
32.10.3审核评审任务478
32.10.4评审任务没有通过测试480
32.10.5重新提交新的补丁集482
32.10.6新修订集通过评审483
32.10.7从远程版本库更新485
32.11更多Gerrit参考486
第33章Git版本库托管487
33.1 Github487
33.2 Gitorious489
第6篇 迁移到Git492
第34章CVs版本库到Git的迁移492
34.1安装cvs2svn(含cvs2git)492
34.1.1 Linux下cvs2svn的安装492
34.1.2 Mac OS X下cvs2svn的安装493
34.2版本库转换的准备工作494
34.2.1版本库转换注意事项494
34.2.2文件名乱码问题494
34.2.3提交说明乱码问题494
34.3版本库转换496
34.3.1配置文件解说496
34.3.2运行cvs2git完成转换500
34.4迁移后的版本库检查501
第35章 更多版本控制系统的迁移502
35.1 SVN版本库到Git的迁移502
35.2 Hg版本库到Git的迁移503
35.3通用版本库迁移505
35.4 Git版本库整理511
35.4.1环境变量过滤器513
35.4.2树过滤器513
35.4.3暂存区过滤器513
35.4.4父节点过滤器514
35.4.5提交说明过滤器514
35.4.6提交过滤器515
35.4.7里程碑名字过滤器516
35.4.8子目录过滤器516
第7篇Git的其他应用518
第36章etckeeper518
36.1安装etckeeper518
36.2配置etckeeper519
36.3使用etckeeper519
第37章Gistore520
37.1 Gistore的安装520
37.1.1软件依赖520
37.1.2从源码安装Gistore521
37.1.3用easy_install安装521
37.2 Gistore的使用522
37.2.1创建并初始化备份库522
37.2.2 Gistore的配置文件523
37.2.3 Gistore的备份项管理524
37.2.4执行备份任务525
37.2.5查看备份日志525
37.2.6查看及恢复备份数据527
37.2.7备份回滚及设置528
37.2.8注册备份任务别名529
37.2.9自动备份:crontab529
37.3 Gistore双机备份529
第38章 补丁中的二进制文件531
38.1 Git版本库中二进制文件变更的支持531
38.2对非Git版本库中二进制文件变更的支持535
38.3其他工具对Git扩展补丁文件的支持536
第39章 云存储538
39.1现有云存储的问题538
39.2 Git式云存储畅想539
第8篇Git杂谈542
第40章 跨平台操作Git542
40.1字符集问题542
40.2文件名大小写问题543
40.3换行符问题545
第41章Git的其他特性549
41.1属性549
41.1.1属性定义549
41.1.2属性文件及优先级550
41.1.3常用属性介绍552
41.2钩子和模板557
41.2.1 Git钩子557
41.2.2 Git模板562
41.3稀疏检出和浅克隆563
41.3.1稀疏检出563
41.3.2浅克隆566
41.4嫁接和替换568
41.4.1提交嫁接568
41.4.2提交替换568
41.5 Git评注570
41.5.1评注的奥秘570
41.5.2评注相关命令573
41.5.3评注相关配置574
第9篇 附录576
附录A Git命令索引576
A.1常用的Git命令576
A.2对象库操作相关命令578
A.3引用操作相关命令578
A.4版本库管理相关命令579
A.5数据传输相关命令579
A.6邮件相关命令580
A.7协议相关命令580
A.8版本库转换和交互相关命令581
A.9合并相关的辅助命令581
A.10杂项582
附录B Git与CVs面对面583
B.1面对面访谈录583
B.2 Git和CVs命令对照585
附录C Git与SVN面对面587
C.1面对面访谈录587
C.2 Git和SVN命令对照589
附录D Git与Hg面对面592
D.1面对面访谈录592
D.2 Git和Hg命令对照593