| 
 新書推薦:
 
  《 
			钩针编织曼陀罗花样
			》
 售價:HK$ 
			305
 
  《 
			两晋南北朝史 一口气看懂两晋南北朝史
			》
 售價:HK$ 
			347
 
  《 
			这样吃 长得高 临床营养师和新手父母的儿童营养指南 专注解决0到16岁孩子营养问题
			》
 售價:HK$ 
			265
 
  《 
			暗黑历史书系·古代战争史
			》
 售價:HK$ 
			500
 
  《 
			索恩丛书·马克斯·韦伯:跨越时代的人生
			》
 售價:HK$ 
			505
 
  《 
			无路之路
			》
 售價:HK$ 
			305
 
  《 
			棒针编织阿兰花样背心马甲
			》
 售價:HK$ 
			305
 
  《 
			大明300年 推演关键性事件 锁定冲突 重构大明300年棋局 剖析帝国兴亡的核心规则
			》
 售價:HK$ 
			347
 
 
 | 
         
          | 編輯推薦: |   
          | 深入解析Git原理,精通操作技巧,极速提升版本管理与团队协作效率。 |  
         
          | 內容簡介: |   
          | 本书是一本全面介绍?Git?版本控制系统的实践指南和参考手册。这本书将帮助读者掌握?Git?的核心概念和操作技巧,同时教授如何使用?Git?进行高效的版本控制和团队协作。笔者将从?0?到?1,由浅入深地对?Git?的操作进行讲解。 本书共分为?17?章,全方位围绕?Git?的使用技巧与原理进行讲解。书中绝大多数的命令都配有专门的实战案例,以帮助读者更好地理解。本书还提供了案例代码的每个步骤的源代码,以便于读者观察和思考,通过结合命令解析、概念阐述、流程图以及实战案例,帮助读者全面吸收并融会贯通所学知识。
 无论您是前端或后端开发工程师、在校学生或初学者,还是具有一定经验的开发者,本书都将为您提供宝贵的知识参考和指导。它将成为您学习?Git?之路上的明灯。
 |  
         
          | 關於作者: |   
          | 吴子俊 江西南昌人,具备多年IT行业开发经验,尤其在软件开发、架构设计及著作方面拥有深厚的专业知识和实践经验。精通Java知识体系,擅长互联网架构设计、微服务以及分布式技术等,积累了大量在大型企业级Java应用程序开发方面的实战经验。曾担任程序员、技术组长、技术经理、项目经理等职位。
 全网人气累计超过 500万,荣获阿里云开发者社区、51CTO、CSDN等多家知名平台的专家博主荣誉,并被百度开发者社区评为优质内容创作者。在软件开发和架构设计领域具有一定的行业影响力。
 |  
         
          | 目錄: |   
          | 第1章 Git概述 1 1.1 项目协同开发 1
 1.2 Git简介 2
 1.3 集中式与分布式版本控制
 系统 3
 1.3.1 集中式版本控制系统 3
 1.3.2 分布式版本控制系统 4
 1.4 Git的使用流程 5
 1.4.1 本地仓库 6
 1.4.2 协同开发 7
 1.5 创建 Git 仓库 7
 1.5.1 初始化Git仓库 7
 1.5.2 Git的帮助文档 9
 1.6 Git的配置 10
 1.6.1 Git的配置等级 11
 1.6.2 Git的配置分类 12
 1.6.3 读取Git配置 12
 1.6.4 设置Git配置 13
 1.6.5 Git的初始化配置 15
 第2章 Git的基本使用 17
 2.1 Git基本操作命令 17
 2.2 暂存区的概念 21
 2.2.1 暂存区的工作流程 21
 2.2.2 查看暂存区 22
 2.3 Git的工作空间状态 24
 2.3.1 nothing to commit 24
 2.3.2 Untracked files 25
 2.3.3 Changes to be
 committed 26
 2.3.4 Changes not staged for
 commit 27
 第3章 Git其他常用命令 29
 3.1 diff命令——文件对比 29
 3.1.1 工作空间与暂存区文件
 对比 29
 3.1.2 版本库与暂存区文件
 对比 30
 3.2 rm命令——文件删除 31
 3.2.1 普通方式删除 31
 3.2.2 git rm命令删除 33
 3.3 mv命令——文件改名 36
 3.3.1 普通方式重命名 37
 3.3.2 使用git mv改名 38
 3.4 log命令——日志查询 39
 3.4.1 git log命令的使用 40
 3.4.2 格式化日志 41
 3.4.3 日期格式化 42
 3.5 Git文件忽略 44
 3.5.1 忽略文件的使用 44
 3.5.2 强制追踪 45
 3.5.3 忽略规则的优先级 46
 3.5.4 忽略规则的匹配语法 46
 第4章 Git底层对象 49
 4.1 Git对象的概念与介绍 49
 4.2 Blob对象 50
 4.2.1 Blob对象简介 50
 4.2.2 Blob对象的使用 50
 4.2.3 Blob的存储方式 53
 4.3 Tree对象 53
 4.3.1 Tree对象简介 53
 4.3.2 暂存区与Tree对象 54
 4.3.3 生成Tree对象 54
 4.3.4 读取Tree对象 56
 4.4 Commit对象 62
 4.4.1 Commit对象简介 62
 4.4.2 生成Commit对象 63
 4.4.3 指定父级Commit对象
 提交 65
 4.5 Tag对象 66
 4.5.1 Tag对象简介 66
 4.5.2 Tag对象的使用 66
 第5章 Git命令原理 70
 5.1 add命令原理 70
 5.2 commit命令原理 71
 5.3 文件删除原理 73
 5.3.1 普通方式删除 74
 5.3.2 git rm命令原理 76
 5.4 文件改名原理 78
 5.4.1 普通方式改名 78
 5.4.2 git mv命令原理 80
 第6章 Git分支的使用 83
 6.1 Git分支概述 83
 6.1.1 Git分支简介 83
 6.1.2 Git分支原理 84
 6.2 分支的使用 86
 6.2.1 创建分支 87
 6.2.2 查看分支 88
 6.2.3 删除分支 88
 6.3 切换分支 89
 6.3.1 checkout切换分支 89
 6.3.2 switch切换分支 91
 6.4 切换分支原理 92
 6.4.1 影响工作空间 94
 6.4.2 影响暂存区 97
 6.4.3 分离头指针 100
 6.5 checkout命令的其他功能 102
 6.5.1 撤销修改 102
 6.5.2 强制切换 103
 6.6 Git的分支状态存储 104
 6.6.1 git stash命令 104
 6.6.2 Git存储的基本使用 105
 6.6.3 Git存储的其他用法 109
 6.6.4 Git存储与暂存区 113
 6.6.5 Git存储的原理 114
 6.7 工作树的使用 118
 6.7.1 工作树简介 118
 6.7.2 git worktree的使用 119
 6.7.3 git worktree详细
 用法 121
 第7章 分支合并 123
 7.1 分支开发路线 123
 7.1.1 同轴开发路线 123
 7.1.2 分叉开发路线 125
 7.2 分支合并的分类 126
 7.2.1 快进式合并分支 126
 7.2.2 典型式合并分支 129
 7.3 Git的代码冲突 132
 7.3.1 代码冲突的分类与
 特点 132
 7.3.2 快进式合并代码
 冲突 133
 7.3.3 典型式合并代码
 冲突 138
 7.4 Git的代码冲突原理 142
 7.4.1 两路合并算法 142
 7.4.2 三路合并算法 143
 7.4.3 递归三路合并 149
 7.5 git merge命令详解 153
 7.5.1 git merge其他用法 153
 7.5.2 git merge的可选
 参数 155
 7.5.3 分支合并的策略 158
 7.6 git rebase命令 161
 7.6.1 git rebase命令简介 161
 7.6.2 git rebase与git merge 162
 7.6.3 交互式Rebase 166
 7.7 git cherry-pick命令 175
 7.7.1 git cherry-pick命令
 简介 176
 7.7.2 cherry-pick与merge 176
 第8章 Git数据恢复与还原 183
 8.1 Git的还原——restore命令 183
 8.1.1 还原工作空间 184
 8.1.2 还原暂存区 184
 8.1.3 同时还原暂存区和
 工作空间 186
 8.2 修正提交——amend命令 187
 8.2.1 提交日志修正 187
 8.2.2 提交内容修正 188
 8.2.3 提交文件修正 189
 8.3 Git的数据回退——
 reset命令 190
 8.3.1 回退HEAD指针 190
 8.3.2 回退暂存区 193
 8.3.3 回退工作空间 195
 第9章 远程协同开发 197
 9.1 远程仓库简介 197
 9.1.1 GitHub 197
 9.1.2 Gitee 198
 9.1.3 其他托管平台 198
 9.2 发布远程仓库 200
 9.2.1 协同开发工作流程 201
 9.2.2 创建远程仓库 202
 9.2.3 推送仓库 203
 9.3 协同开发相关命令 206
 9.3.1 remote命令的使用 206
 9.3.2 clone命令的使用 207
 9.3.3 fetch命令的使用 208
 9.3.4 pull命令的使用 211
 9.4 远程跟踪分支 212
 9.4.1 远程分支的创建 213
 9.4.2 远程跟踪分支的
 创建 215
 9.5 远程协作代码冲突 221
 9.5.1 分支合并的情况 221
 9.5.2 远程协作的情况 227
 9.6 用户信息的配置 233
 第10章 多人协同开发 236
 10.1 多人协同开发的场景 236
 10.1.1 场景1——单人
 开发 236
 10.1.2 场景2——多人共同
 开发 237
 10.1.3 场景3——多人独立
 开发 238
 10.2 进行多人协同 238
 10.2.1 模拟多账号协同
 开发 239
 10.2.2 Pull Request的
 使用 243
 第11章 TortoiseGit图形化工具 250
 11.1 TortoiseGit简介 250
 11.2 TortoiseGit的基本使用 252
 11.2.1 创建仓库 252
 11.2.2 添加 253
 11.2.3 提交 254
 11.2.4 对比 255
 11.2.5 改名 256
 11.2.6 删除 258
 11.2.7 日志 259
 11.2.8 标签的使用 260
 11.2.9 文件忽略 261
 11.3 TortoiseGit数据恢复 262
 11.3.1 restore数据还原 262
 11.3.2 amend提交修正 264
 11.3.3 reset数据回退 265
 11.4 TortoiseGit操作分支 271
 11.4.1 创建分支 272
 11.4.2 切换分支 273
 11.4.3 合并分支 274
 11.4.4 分支合并解决
 冲突 275
 11.5 分支状态存储 278
 11.5.1 使用存储 278
 11.5.2 查看存储 280
 11.5.3 读取存储 280
 11.5.4 删除存储 281
 11.6 TortoiseGit分支高级操作 282
 11.6.1 rebase操作 282
 11.6.2 cherry-pick操作 286
 11.7 TortoiseGit协同开发 290
 11.7.1 remote 290
 11.7.2 push 292
 11.7.3 clone 293
 11.7.4 fetch 294
 11.7.5 pull 295
 11.7.6 模拟协同开发
 冲突 296
 第12章 IntelliJ IDEA集成Git插件的
 使用 299
 12.1 Git插件的基本使用 299
 12.1.1 IDEA绑定Git
 插件 299
 12.1.2 提交项目 301
 12.1.3 添加忽略文件 302
 12.1.4 比较 306
 12.1.5 改名 307
 12.1.6 删除 307
 12.1.7 日志 307
 12.1.8 标签 309
 12.2 Git插件数据恢复 310
 12.2.1 restore数据还原 311
 12.2.2 amend提交修正 311
 12.2.3 reset数据回退 312
 12.3 分支的操作 315
 12.3.1 创建分支 315
 12.3.2 切换分支 317
 12.3.3 合并分支 317
 12.3.4 分支合并解决冲突 318
 12.4 分支状态存储 321
 12.5 分支高级操作 322
 12.5.1 rebase操作 322
 12.5.2 cherry-pick操作 325
 12.6 协同开发 327
 12.6.1 remote 327
 12.6.2 push 328
 12.6.3 clone 329
 12.6.4 fetch 330
 12.6.5 pull 332
 12.6.6 模拟协同开发冲突 334
 第13章 协同开发命令详细用法 336
 13.1 push命令 336
 13.1.1 push命令的使用
 方式 336
 13.1.2 push命令的常用
 参数 339
 13.1.3 push命令常用参数
 演示 340
 13.1.4 上游分支 342
 13.1.5 修剪分支 345
 13.1.6 强制推送 346
 13.2 fetch命令 348
 13.2.1 fetch命令的常用
 参数 348
 13.2.2 fetch命令常用参数
 演示 349
 13.2.3 强制获取 351
 13.3 pull命令 352
 13.3.1 pull命令的常用
 参数 353
 13.3.2 pull命令常用参数
 演示 353
 13.3.3 pull变基操作 356
 13.3.4 强制拉取 360
 第14章 Git补丁 363
 14.1 Git补丁语法 363
 14.2 git apply应用补丁 364
 14.2.1 git apply使用示例 364
 14.2.2 git apply旧版本
 问题 368
 14.3 git format-patch生成补丁 368
 14.4 git am应用补丁 371
 14.4.1 git am使用示例 371
 14.4.2 git am解决冲突 372
 第15章 Git工作流 375
 15.1 Git Flow中的分支 375
 15.2 使用Git Flow模拟开发 377
 15.3 使用Git Flow Script开发 380
 第16章 Git钩子 387
 16.1 钩子的作用 387
 16.1.1 客户端钩子 387
 16.1.2 服务端钩子 388
 16.2 使用钩子 388
 16.2.1 编写pre-commit
 钩子 389
 16.2.2 编写commit-msg
 钩子 390
 16.2.3 采用Java实现
 钩子 391
 第17章 Git的配置项 393
 17.1 git config命令 393
 17.1.1 查询信息类 393
 17.1.2 作用域类 394
 17.1.3 属性操作类 396
 17.2 .git目录详解 401
 17.2.1 .git目录中文件夹的
 说明 401
 17.2.2 .git目录中文件的
 说明 404
 17.3 Git客户端配置 404
 17.3.1 user配置项 405
 17.3.2 alias配置项 405
 17.3.3 credential配置项 407
 17.3.4 merge配置项 412
 17.3.5 push配置项 414
 17.3.6 其他配置项 416
 17.4 Git服务端配置 418
 17.4.1 receive配置项 419
 17.4.2 http配置项 420
 17.4.3 gc配置项 421
 |  
         
          | 內容試閱: |   
          | 尊敬的读者: Git,作为当前最受欢迎的版本控制系统之一,已经成为现代软件开发中不可或缺的一部分。其强大而灵活的特性,不仅可以帮助我们更好地管理代码的版本,还能促进团队协同开发,并自动化许多重复性的任务。然而,对于许多人来说,Git?的学习路径可能会显得颇为陡峭。这正是我编写这本书的初衷——帮助您更好地理解和掌握?Git。
 本书首先从?Git?的基本概念和原理讲起,然后逐步深入到更高级的特性和使用技巧。同时,本书还结合大量的实例和案例来帮助您更好地理解和应用所学知识。此外,我还将分享一些在?Git?使用过程中遇到的问题和解决策略,希望这些经验能为您在遇到类似问题时提供一些启示和帮助。
 通过阅读本书,相信您不仅能够掌握?Git?的基本操作和使用方法,还能够深入了解其背后的原理和设计理念。这将使您能够更加熟练、高效地运用?Git?来管理您的项目和代码,从而提升您的软件开发能力和效率。
 在此,我衷心感谢所有为本书的出版提供支持和帮助的人。特别感谢我的家人、朋友和同事们的鼓励与支持,同时也向那些为?Git?社区做出贡献的开源爱好者致以崇高的敬意。他们的努力和奉献使得我们能够更容易地获取和分享知识。
 最后,愿您在阅读此书的过程中收获满满,期待与您共同探索?Git?的奇妙世界!
 本书特点
 ? 基础入门:本书循序渐进地讲解了?Git?的核心概念和基本操作,涵盖了版本控制的概念,配置用户信息,基本操作如提交、改名、删除、对比、日志、文件忽略,标签,存储,分支合并,数据回退与恢复,解决代码冲突,远程仓库协作,协同开发等。
 ? 进阶技巧:除了基础知识,本书还介绍了一些高级技巧和最佳实践,如各类命令的高级使用方法以及常用参数的演示、分支的?Rebase、cherry-pick?操作、Git?补丁、工作流、Git?钩子等。
 ? 深入剖析:本书对一些命令的底层进行了深入剖析,包括?Git?对象的产生、常用开发命令的原理、Git?目录中文件和文件夹的含义、代码冲突原理、三路合并算法、Git?配置项的修改与定制等。
 ? 案例分析:通过实际案例,生动地展示了?Git?在项目开发中的应用,帮助读者更好地理解和掌握?Git?的使用技巧。
 ? 图形化界面的使用:除了命令行操作外,本书还介绍了许多?Git?客户端及其图形化界面,并展示其基本功能和使用方法。
 ? 代码托管平台:本书详细介绍了如何将?Git?与代码托管平台相结合,包括创建仓库、推送代码、拉取更新等操作。
 读者对象
 ? 软件开发人员:无论是新手,还是经验丰富的开发者,都可以通过本书深入挖掘?Git?的强大功能和最佳实践。
 ? 项目经理:了解如何利用?Git?有效地管理软件开发过程和团队,掌握?Git?的最佳配置与设定,规范?Git?的使用流程。
 ? 系统管理员:负责维护和管理代码仓库的人员,需要熟悉?Git?的高级用法和集成方法。
 ? 开源贡献者:参与开源项目通常需要使用?Git?进行版本控制和代码提交。
 ? 学生和教育工作者:计算机科学和软件工程专业的学生,以及教授相关课程的教师也会发现本书是学习?Git?的宝贵资源。
 ? 对版本控制感兴趣的人:无论您是想转行进入软件行业,还是对版本控制的原理感兴趣,本书都将为您提供一份全面且易于理解的介绍。
 技术背景
 本书编写时所涉及的平台与软件版本如下。
 ? 操作系统:Windows 11?专业版。
 ? Git?版本:Git-2.30.0-64-bit。
 ? 图形化工具及版本:TortoiseGit-2.7.0.0-64bit。
 ? IDEA?版本:IntelliJ IDEA 2023.2.2。
 ? JDK?版本:jdk1.8.0_152。
 读者服务
 ? 课件。
 ? 学习视频。
 读者可通过扫描本书封底的二维码来访问本书专享资源官网,获取课件和学习视频,也可以加入读者群,下载最新学习资源或反馈书中的问题。
 勘误和支持
 本书在编写过程中历经多次勘校、查证,力求避免差错,尽善尽美。由于作者水平有限,书中难免存在疏漏之处,欢迎读者批评指正,也欢迎读者来信一起探讨!
 |    |