Git是一款让人一开始觉得很容易学,但却很难精通的工具。本书除了介绍Git的相关知识外,还会模拟各种常见的状况,让读者知道应该在什么时候使用什么指令。
《Git从入门到精通》共分11个章节,1~3章介绍安装工具及环境,对于已经安装完成的读者可直接从第4章开始阅读。第5章介绍Git基本的使用方式,虽然难度不高,但却是整个Git系统的基础。第6章介绍Git中常用的分支功能以及使用情境,第7~9章则是介绍如何修改现有的历史记录、使用标签,以及如何应对其他常见的状况。
前面的内容都是在自己的计算机上就可以完成的,从第10章开始介绍如何将自己计算机里的记录推一份到线上(GitHub)。*后一章(第11章)介绍团队开发时可能会使用的开发过程Git Flow。
市面上的参考书籍或网络教程大多是教大家如何通过终端机指令来学习Git,这让不少想学习Git的新手打了退堂鼓。本书除了教大家如何在终端机视窗中输入Git指令,还搭配了图形界面工具,缓和了读者的学习曲线,让读者更容易上手。
1.树立正确的Git观念,可以让你在工作中选用正确的Git指令。
2.终端机指令搭配图行界面工具,使学习效率倍增。
3.不只教你如何用,还能让你知道自己在用什么,以及为什么要这么用。
高见龙,程序员,大型技术研讨会(如PHPConf、WebConf、RubyConf Taiwan等)及社群活动(如Rails Girls Taipei、Taipei.rb)的发起人及主办人。目前为五倍红宝石共同创办人及负责人,有20年程序开发经验和近10年的教学经验,在台湾推广Ruby及Git多年,在各大学广为开课,深受学生欢迎。
第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