图书介绍

Git权威指南PDF|Epub|txt|kindle电子书版本网盘下载

Git权威指南
  • 蒋鑫著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111349679
  • 出版时间:2011
  • 标注页数:598页
  • 文件大小:57MB
  • 文件页数:626页
  • 主题词:软件工具-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

热门推荐