失效链接处理 |
Git软件开发实战 PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1773719210.html
相关截图:
资料简介: 借助Git的强大功能简单化开发周期《Git软件开发实战》一书提供了在使用Git这一流行的软件开发工具方面的有效方法,并且为新用户和资深用户提供了新指导。《Git软件开发实战》包含针对传统系统的广泛探讨,以及独特于Git的有助于在识别和规划差异时借鉴已有技能的注意事项。书中大量的示例和图示旨在强化关键的概念以及增强用户的理解。《Git软件开发实战》专注于实践并且超越了技术教程,能助你将Git模型集成到现实环境的工作流中,是快速提升学习效率的宝贵资源。主要内容◆ 提供基本Git模型和整个工作流处理的清晰理解◆ 包含常用源管理概念和命令的Git版本◆ 展示如何追踪变更、处理分支以及利用Git完整功能的优势◆ 包含现实环境中的示例,以便熟练掌握和更好地消化这些概念◆ 提供有助于可视化关键理念和工作流的简单、清晰图示◆ 重点介绍不常为人知的Git特性以便得到额外的收益◆ 展示如何避免新用户常犯的错误和失误 资料目录: 目 录
第Ⅰ部分 理解Git相关概念 第1章 什么是Git 3 1.1 Git的历史 4 1.2 行业标准工具 4 1.3 Git生态系统 5 1.3.1 核心的Git 5 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 开发-测试-生产和Git 27 3.1.2 移动内容的核心Git命令 34 3.2 本章小结 36 3.3 关于连接实验课程1: 安装Git 36 连接实验课程1:安装Git 37 第Ⅱ部分 使用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 配置Git 48 4.2.1 告知Git你的身份 49 4.2.2 配置范围 50 4.2.3 默认的编辑器 53 4.2.4 设置行结束符 54 4.2.5 别名 55 4.2.6Windows文件系统缓存 56 4.3 初始化仓库 56 4.3.1 gitinit 56 4.3.2 gitclone 57 4.4 高级主题 58 4.4.1 gitinit揭秘 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 添加内容以便追踪——add 69 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 gitstatus 95 6.1.1 具有状态的工作流示例 96 6.1.2 status命令的简要形式 100 6.2 git diff 102 6.2.1 Git中的重要符号名称 102 6.2.2 如何思考Git进行对比的 方法 102 6.2.3 仅显示有差异的文件 名称 107 6.2.4word-diff 107 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 gitblame 127 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 mv 246 11.1.4 rm 247 11.2 用于搜索的命令 248 11.2.1 grep 248 11.2.2 Git日志搜索 251 11.3 为变更处理补丁和存档 253 11.3.1archive 254 11.3.2bundle 254 11.3.3 通过电子邮件共享 补丁 256 11.3.4 apply 257 11.3.5 am 257 11.3.6 用邮件发送补丁文件 258 11.4 用于清理的命令 260 11.4.1 clean 260 11.4.2 gc 262 11.4.3 notes 263 11.5 高级主题 265 11.5.1filter-branch 265
11.5.2rev-list 265 11.5.3bisect 272 11.5.4 rerere 279 11.6 本章小结 287 11.7 连接实验课程7:删除、 重命名和储藏 287 连接实验课程7:删除、重命名和 储藏 289 第12章 理解远程——分支和操作 293 12.1 远程 293 12.1.1 远程访问协议 295 12.1.2remote命令 297 12.1.3 Git如何与远程环境 交互 299 12.1.4 远程追踪分支 299 12.1.5 gitclone 300 12.1.6 查看关于远程分支的 信息 303 12.1.7 push 307 12.1.8 fetch 315 12.1.9 pull 317 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.1applypatch-msg 393 15.4.2pre-applypatch 393 15.4.3post-applypatch 393 15.4.4pre-commit 393 15.4.5prepare-commit-msg 395 15.4.6commit-message 396 15.4.7post-commit 398 15.4.8pre-rebase 399 15.4.9post-checkout 399 15.4.10post-merge 399 15.4.11pre-push 400 15.4.12pre-receive 400 15.4.13update 401 15.4.14post-receive 401 15.4.15post-update 402 15.5 其他挂钩 403 15.5.1push-to-checkout 403 15.5.2pre-auto-gc 403 15.5.3post-rewrite 403 15.6 挂钩快速参考 403 15.7 本章小结 405 |