第1章 Git入门 1 1.1 Git概述 2 1.2 Git与其他版本控制系统的差异 3 1.3 常见问题 4 第2章 环境安装 6 2.1 在Windows操作系统中安装Git 7 2.2 在macOS操作系统中安装Git 9 2.3 在Linux操作系统中安装Git 10 2.4 图形界面工具 11 第3章 终端机/命令提示符 13 3.1 终端机及常用命令介绍 14 3.2 超简明的Vim操作介绍 17 第4章 设置Git 19 4.1 用户设置 20 4.2 可以给每个项目设置不同的作者吗 21 4.3 其他方便的设置 21 第5章 开始使用Git 24 5.1 新增、初始Repository 25 5.2 把文件交给Git管控 27 5.3 工作区、暂存区与存储库 33 5.4 查看记录 35 5.5 如何在Git中删除文件或变更文件名 39 5.6 修改Commit记录 46 5.7 追加文件到最近一次的Commit 48 5.8 新增目录 49 5.9 有些文件不想放在Git中 50 5.10 查看特定文件的Commit记录 52 5.11 这行代码是谁写的 55 5.12 不小心把文件或目录删除了 57 5.13 刚才的Commit后悔了,想要拆掉重做 60 5.14 不小心使用hard模式Reset了某个Commit,还救得回来吗 63 5.15 HEAD是什么 64 5.16 可以只Commit一个文件的部分内容吗 65 5.17 那个长得很像乱码的SHA-1值是怎样算出来的 68 5.18 .git目录中有什么?Part 1 70 5.19 .git目录中有什么?Part 2 85 第6章 使用分支 92 6.1 使用分支的原因 93 6.2 开始使用分支 93 6.3 对分支的误解 100 6.4 合并分支 105 6.5 为什么我的分支没有“小耳朵” 112 6.6 合并过的分支要保留吗 115 6.7 不小心把还没合并的分支删除了,救得回来吗 115 6.8 另一种合并方式(使用Rebase) 119 6.9 合并发生冲突了怎么办 126 6.10 为什么都说在Git中开分支“很便宜” 131 6.11 Git如何知道现在是在哪一个分支 133 6.12 HEAD也有缩写 134 6.13 可以从过去的某个Commit再创建一个新的分支吗 136 第7章 修改历史记录 139 7.1 修改历史信息 140 7.2 把多个Commit合并为一个Commit 144 7.3 把一个Commit拆解成多个Commit 149 7.4 想要在某些Commit之间再加新的Commit 153 7.5 想要删除某几个Commit或调整Commit的顺序 155 7.6 Reset、Revert与Rebase指令有什么区别 159 第8章 标签 163 8.1 使用标签 164 8.2 标签与分支有什么区别 168 第9章 其他常见的情况及一些冷知识 170 9.1 手边的工作做到一半,临时要切换到别的任务 171 9.2 不小心把账号密码放在Git中了,想把它删掉该怎么办 174 9.3 怎样把文件真正地从Git中移除 178 9.4 你知道Git有资源回收机制吗 181 9.5 断头(detached HEAD)是怎么一回事 186 第10章 远端共同协作——使用GitHub 191 10.1 GitHub概述 192 10.2 将内容Push到GitHub上 193 10.3 Pull下载更新 199 10.4 为什么有时候推不上去 203 10.5 从服务器上取得Repository 205 10.6 Clone与Pull指令的区别 207 10.7 与其他开发者的互动——使用PullRequest(PR) 207 10.8 怎样跟上当初fork的项目的进度 213 10.9 怎么删除远端的分支 215 10.10 听说git push -f指令很可怕,什么情况下可以使用呢 217 10.11 使用GitHub免费制作个人网站 219 10.12 一定要有GitHub才能得到他人更新的文件吗 222 第11章 使用Git Flow 224 Git Flow是什么?为什么需要它 225
高见龙,程序员,大型技术研讨会发起人及主办人(如PHPConf、WebConf、RubyConf Taiwan 等)及社群活动(Rails Girls Taipei、Taipei.rb)。目前为五倍红宝石共同创办人及负责人,有20 年程序开发经验和近 10 年的教学经验,在台湾推广 Ruby 及Git多年,在各大学广为开课,学生已累积超过 1,000 人。
Git就是一种版本控制系统,也是目前业界最流行的版本控制系统。本书主要介绍了常用Git指令介绍、各种Git的常见问题及使用情境、如何修改Git的历史纪录、如何使用 GitHub 与其他人一起工作等。主要内容包括入门篇、环境安装、终端机/命令提示字符、设定Git、开始使用Git、使用分支、修改历史纪录、标签、其他常见状况题与冷知识、远程共同协作 - 使用 GitHub、使用Git flow等内容。 本书适合从事程序开发人员的中、高级用户学习使用。