Git软件开发实战
全新正版书籍,多仓就近发货,节假日正常发出,具体可私信客服咨询。
¥
57.44
7.2折
¥
79.8
全新
仅1件
作者(美)布伦特·勒思特尔|译者:蒲成
出版社清华大学
ISBN9787302479918
出版时间2017-10
装帧其他
开本其他
定价79.8元
货号30011618
上书时间2024-10-31
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
BrentLaster是一位高级经理、软件开发人员,他供职于位于北卡罗来纳州卡瑞的SAS的研发部门。他管理参与发布工程设计流程和内部工具的几个小组。他还充当使用开源技术的资源的角色,并且负责进行Git、Gerrit、Gradle和Jenkins这样的技术培训课程,同时面向美国和美国之外的国家。
除了企业培训之外,Brent还为各种技术会议发起并提供专题研讨会。在像RichWebExperience/ContinuousDeliveryExperience、überConf、OSCON这样的会议上,他提供了关于开源技术(以及如何应用它们)的专题研讨会和咨询性研讨。他还是NoFluffJustStuff这样杂志的出版物的撰稿者。Brent时不时地进行在线网络培训。
Brent的热情在于传授知识,并且是以让所有人都能理解的方式来讲解这些难以理解的概念。他参与技术培训已经超过25年了,并且在持续地寻求向其他人展示如何才能使用技术来简化和自动化工作的方法。
可以在Brent的LinkedIn页面http://linkedin.com/in/BrentLaster上或者通过Twitter账号@BrentCLaster来了解更多与他及其工作有关的内容。
目录
目 录
第Ⅰ部分 理解Git相关概念
第1章 什么是Git3
1.1 Git的历史4
1.2 行业标准工具4
1.3 Git生态系统5
1.3.1 核心的Git5
1.3.2 Git托管站点6
1.3.3 自托管软件包7
1.3.4 易用的包7
1.3.5 插件9
1.3.6 包含Git的工具9
1.3.7 Git库9
1.4 Git的优势和挑战10
1.4.1 优势10
1.4.2 挑战12
1.5 本章小结15
第2章 关键概念17
2.1 设计概念:面向用户的17
2.1.1 集中式模型17
2.1.2 分布式模型18
2.2 设计概念:内部的19
2.2.1 差异增量存储20
2.2.2 快照存储20
2.2.3 Git的存储需求21
2.3 仓库设计注意事项22
2.3.1 仓库范围23
2.3.2 文件范围24
2.3.3 共享代码25
2.4 本章小结26
第3章 Git升级模型27
3.1 Git的级别27
3.1.1 开发-测试-生产和Git27
3.1.2 移动内容的核心Git命令34
3.2 本章小结36
3.3 关于连接实验课程1:
安装Git36
连接实验课程1:安装Git37
第Ⅱ部分 使用Git
第4章 配置和设置43
4.1 在Git中执行命令43
4.1.1 操作数类型44
4.1.2 高层命令和底层命令的
对比45
4.1.3 指定参数47
4.1.4 自动完成47
4.2 配置Git48
4.2.1 告知Git你的身份49
4.2.2 配置范围50
4.2.3 默认的编辑器53
4.2.4 设置行结束符54
4.2.5 别名55
4.2.6 Windows文件系统缓存56
4.3 初始化仓库56
4.3.1 git init56
4.3.2 git clone57
4.4 高级主题58
4.4.1 git init揭秘58
4.4.2 进一步深入了解Git仓库59
4.4.3 将config命令映射到
配置文件60
4.4.4 创建参数化别名61
4.5 本章小结63
第5章 变得高效65
5.1 获得帮助65
5.2 多仓库模型67
5.3 添加内容以便追踪——add69
5.4 完成变更——提交77
5.4.1 先决条件78
5.4.2 提交范围79
5.5 将一切结合在一起79
5.5.1 修正提交80
5.5.2 提交的结果82
5.6 高级主题84
5.6.1 使用--verbose选项85
5.6.2 完整的消息提交过程85
5.6.3 自动更正和自动执行86
5.7 本章小结87
5.8 关于连接实验课程2:创建和
探究Git仓库并且管理内容87
连接实验课程2:创建和探究Git
仓库并且管理内容89
第6章 追踪变更95
6.1 git status95
6.1.1 具有状态的工作流示例96
6.1.2 status命令的简要形式100
6.2 git diff102
6.2.1 Git中的重要符号名称102
6.2.2 如何思考Git进行对比的
方法102
6.2.3 仅显示有差异的文件
名称107
6.2.4 word-diff107
6.2.5 忽略非关键变更107
6.2.6 对比两次提交109
6.2.7 可视化对比111
6.2.8 其他的对比技巧114
6.3 本章小结115
6.4 连接实验课程3:通过文件
状态生命周期追踪内容116
连接实验课程3:通过文件状态
生命周期追踪内容117
第7章 处理随时间推移而出现的
变更以及使用标签121
7.1 log命令121
7.1.1 常用的显示和过滤选项122
7.1.2 时间限制选项123
7.1.3 按文件和路径显示历史124
7.1.4 日志输出格式125
7.1.5 搜索历史126
7.2 git blame127
7.3 可视化地查看历史130
7.4 标签131
7.4.1 查看标签详情132
7.4.2 修改标签132
7.4.3 简单的标签示例133
7.5 撤消历史中的变更134
7.5.1 reset——回滚变更134
7.5.2 完全重置本地环境135
7.5.3 revert——消除变更136
7.6 高级主题139
7.6.1 签署提交和标签139
7.6.2 引用日志141
7.7 本章小结143
7.8 关于连接实验课程4:使用
Git历史、标签和别名143
连接实验课程4:使用Git历史、
标签和别名145
第8章 处理本地分支149
8.1 什么是分支?149
8.1.1 来自另一个源管理系统的
示例150
8.1.2 分支的Git模型150
8.1.3 创建一个分支151
8.1.4 签出一个分支152
8.1.5 将内容添加到分支153
8.1.6 一个工作目录——多个
分支154
8.1.7 获得关于分支的信息157
8.1.8 删除或重命名一个分支158
8.1.9 使用分支进行开发161
8.2 高级主题167
8.2.1 签出非分支提交168
8.2.2 签出单独的文件173
8.3 本章小结174
8.4 连接实验课程5:处理
分支174
连接实验课程5:处理分支175
第9章 合并内容177
9.1 合并的基础177
9.1.1 merge命令178
9.1.2 为合并做准备178
9.1.3 合并的类型178
9.1.4 变基——合并历史182
9.1.5 樱桃拣选185
9.1.6 樱桃拣选和变基之间的
差异188
9.1.7 合并操作189
9.2 处理冲突192
9.2.1 合并处理是一种状态192
9.2.2 冲突的错误消息193
9.2.3 终止操作194
9.2.4 处理冲突——工作流194
9.2.5 解决选项和策略198
9.3 可视化合并203
9.3.1 选择一款合并工具205
9.3.2 让合并工具可供Git使用206
9.4 高级主题206
9.4.1 用于冲突标记的可选
样式207
9.4.2 高级变基场景208
9.4.3 交互式变基213
9.5 本章小结220
9.6 连接实验课程6:合并实践220
连接实验课程6:合并实践221
第10章 Git中的支持文件223
10.1 Git属性文件224
10.1.1 Git属性文件的作用224
10.1.2 Git属性的范围224
10.1.3 文件格式226
10.1.4 常见用例226
10.1.5 获取文件的属性信息232
10.2 Git忽略文件233
10.2.1 Git忽略的范围233
10.2.2 文件格式234
10.2.3 获取文件的忽略信息236
10.3 本章小结236
第11章 用Git做更多的事情239
11.1 修改本地环境中文件和
目录的布局239
11.1.1 储藏240
11.1.2 暂存命令246
11.1.3 mv246
11.1.4 rm247
11.2 用于搜索的命令248
11.2.1 grep248
11.2.2 Git日志搜索251
11.3 为变更处理补丁和存档253
11.3.1 archive254
11.3.2 bundle254
11.3.3 通过电子邮件共享
补丁256
11.3.4 apply257
11.3.5 am257
11.3.6 用邮件发送补丁文件258
11.4 用于清理的命令260
11.4.1 clean260
11.4.2 gc262
11.4.3 notes263
11.5 高级主题265
11.5.1 filter-branch265
11.5.2 rev-list265
11.5.3 bisect272
11.5.4 rerere279
11.6 本章小结287
11.7 连接实验课程7:删除、
重命名和储藏287
连接实验课程7:删除、重命名和
储藏289
第12章 理解远程——分支和操作293
12.1 远程293
12.1.1 远程访问协议295
12.1.2 remote命令297
12.1.3 Git如何与远程环境
交互299
12.1.4 远程追踪分支299
12.1.5 git clone300
12.1.6 查看关于远程分支的
信息303
12.1.7 push307
12.1.8 fetch315
12.1.9 pull317
12.2 本章小结320
12.3 连接实验课程8:设置
GitHub账户并且克隆仓库320
连接实验课程8:设置GitHub账户
并且克隆仓库321
第13章 理解远程——变更工作流323
13.1 Git中基本的冲突以及
合并解决工作流324
13.2 托管仓库336
13.2.1 用于使用Git进行
协作的模型336
13.2.2 对所有内容进行汇总340
13.3 本章小结341
13.4 连接实验课程9:对远程
仓库使用整体工作流342
连接实验课程9:对远程仓库使用
整体工作流343
第14章 处理Git中的树和模块347
14.1 工作树347
14.1.1 添加一棵工作树348
14.1.2 列出工作树350
14.1.3 精简工作树351
14.2 子模块352
14.2.1 理解子模块如何工作353
14.2.2 添加子模块353
14.2.3 判定子模块状态355
14.2.4 处理多个子模块359
14.2.5 从子模块的远程更新
子模块359
14.2.6 查看子模块差异361
14.2.7 超级项目与子模块
对比362
14.2.8 子模块的问题364
14.2.9 更新子模块引用365
14.2.10 在超级项目被更新后
更新子模块366
14.2.11 推送来自子模块的
变更368
14.2.12 子模块与合并369
14.2.13 注销一个子模块370
14.3 子树370
14.3.1 添加一个项目作为
子树371
14.3.2 更新子树374
14.3.3 使用子树分隔功能374
14.3.4 从分隔内容中创建
一个新的项目375
14.3.5 子树推送376
14.4 本章小结376
14.5 连接实验课程376
14.5.1 连接实验课程10:使用
工作树376
14.5.2 连接实验课程11:使用
子模块376
14.5.3 连接实验课程12:使用
子树377
连接实验课程10:使用工作树379
连接实验课程11:使用子模块381
连接实验课程12:使用子树385
第15章 使用Git挂钩程序扩展
Git功能389
15.1 安装挂钩389
15.2 更新挂钩390
15.3 常用挂钩属性391
15.3.1 挂钩域391
15.3.2 控制工作流的返回码391
15.3.3 工作目录访问392
15.3.4 环境变量392
15.4 挂钩描述392
15.4.1 applypatch-msg393
15.4.2 pre-applypatch393
15.4.3 post-applypatch393
15.4.4 pre-commit393
15.4.5 prepare-commit-msg395
15.4.6 commit-message396
15.4.7 post-commit398
15.4.8 pre-rebase399
15.4.9 post-checkout399
15.4.10 post-merge399
15.4.11 pre-push400
15.4.12 pre-receive400
15.4.13 update401
15.4.14 post-receive401
15.4.15 post-update402
15.5 其他挂钩403
15.5.1 push-to-checkout403
15.5.2 pre-auto-gc403
15.5.3 post-rewrite403
15.6 挂钩快速参考403
15.7 本章小结405
内容摘要
借助Git的强大功能简单化开发周期
《Git软件开发实战》一书提供了在使用Git这一流行的软件开发工具方面的有效方法,并且为新用户和资深用户提供了新指导。《Git软件开发实战》包含针对传统系统的广泛探讨,以及独特于Git的有助于在识别和规划差异时借鉴已有技能的注意事项。书中大量的示例和图示旨在强化关键的概念以及增强用户的理解。《Git软件开发实战》专注于实践并且超越了技术教程,能助你将Git模型集成到现实环境的工作流中,是快速提升学习效率的宝贵资源。
主要内容◆提供基本Git模型和整个工作流处理的清晰理解◆包含常用源管理概念和命令的Git版本◆展示如何追踪变更、处理分支以及利用Git完整功能的优势◆包含现实环境中的示例,以便熟练掌握和更好地消化这些概念◆提供有助于可视化关键理念和工作流的简单、清晰图示◆重点介绍不常为人知的Git特性以便得到额外的收益◆展示如何避免新用户常犯的错误和失误
— 没有更多了 —
以下为对购买帮助不大的评价