GitHub 入门与实践

GitHub 入门与实践
编辑推荐
与全世界程序员分享你的代码!
- 代码审查不到位,审查效率低下
- 只有编程者本人能看懂的代码直接被部署至正式环境中
- 因低级代码错误导致 BUG 频繁出现
- 没有机会和其他人互相交流代码,共享知识 ○ 没有一个简单高效、能在一天之内添加多个功能的开发流程
GitHub 为我们提供了解决这些问题的机会和功能。
本书旨在指导读者使用 GitHub 进行高效开发。
-
- 内容全面,系统讲解 GitHub 的功能和实用技巧
-
- 图文直观,一步步演示 GitHub 的使用方法
-
- 实战导向,专门搭建实践仓库,邀请读者进行 Pull Request 并共同维护
-
- 包含 GitHub 的开发流程和辅助工具,适合需要引入 GitHub 的公司或团队直接使用
内容简介
《GitHub 入门与实践》从 Git 的基本知识和操作方法入手,详细介绍了 GitHub 的各种功能,GitHub 与其他工具或服务的协作,使用 GitHub 的开发流程以及如何将 GitHub 引入到企业中。在讲解 GitHub 的代表功能 Pull Request 时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行 Pull Request 并共同维护。
《GitHub 入门与实践》旨在指导各位读者如何在开发现场使用 GitHub 进行高效开发,适合所有想要使用 GitHub 进行开发的程序员或团队阅读。
作者简介
大塚弘记,将敏捷软件开发导入开发现场的领军人物,以顾问身份就 Web 应用的开发及服务指导过多家企业和团队。曾为多家企业和团队导入 GitHub,在建立一天之内多次部署的开发体制方面拥有丰富经验。
目录
第 1 章 欢迎来到 GitHub 的世界 1
- 1.1 什么是 GitHub 2
- GitHub 公司与 octocat 2
- 并不只是 Git 仓库的托管服务 3
- GitHub 的使用情况 3
- Column 专栏:GitHub 与 Git 的区别 4
- 1.2 使用 GitHub 会带来哪些变化 4
- 协作形式变化 4
- 在开发者之间引发化学反应的 Pull Request 5
- 对特定用户进行评论 6
- GitHub Flavored Markdown 7
- Column 专栏:还可以这样写!! 7
- 能看到更多其他团队的软件 7
- 与开源软件相同的开发模式 8
- 1.3 社会化编程 9
- 1.4 为什么需要社会化编程 10
- 不要闭目塞听,要接触不同的文化 10
- 会写代码的程序员更受青睐 11
- GitHub 最大的特征是“面向人” 11
- 1.5 GitHub 提供的主要功能 12
- Git 仓库 12
- Organization 12
- Issue 13
- Wiki 13
- Pull Request 13
- Column 专栏:GitHub 上受到瞩目的软件 14
- 1.6 小结 14
- 参考资料 14
第 2 章 Git 的导入 17
- 2.1 诞生背景 18
- 2.2 什么是版本管理 18
- 集中型与分散型 19
- 集中型 19
- 分散型 19
- 集中型与分散型哪个更好 20
- 2.3 安装 21
- Mac 与 Linux 21
- Windows 21
- 组件的选择 22
- 设置环境变量 22
- 换行符的处理 23
- Git Bash 23
- 本书所用的环境 24
- 2.4 初始设置 24
- 设置姓名和邮箱地址 24
- 提高命令输出的可读性 25
- 2.5 小结 25
第 3 章 使用 GitHub 的前期准备 27
- 3.1 使用前的准备 28
- 创建账户 28
- 设置头像 29
- 设置 SSH Key 29
- 添加公开密钥 30
- 使用社区功能 31
- 3.2 实际动手使用 31
- 创建仓库 31
- Repository name 32
- Description 32
- Public、Private 32
- Initialize this repository with a README 32
- Add .gitignore 33
- Add a license 33
- 连接仓库 33
- README.md 33
- GitHub Flavored Markdown 34
- 公开代码 34
- clone 已有仓库 34
- 编写代码 35
- 提交 36
- Column 专栏:公开时的许可协议 37
- 进行 push 37
- 3.3 小结 38
第 4 章 通过实际操作学习 Git 39
- 4.1 基本操作 40
- git init——初始化仓库 40
- git status——查看仓库的状态 40
- git add——向暂存区中添加文件 41
- git commit——保存仓库的历史记录 42
- 记述一行提交信息 42
- 记述详细提交信息 42
- 中止提交 43
- 查看提交后的状态 43
- git log——查看提交日志 43
- 只显示提交信息的第一行 44
- 只显示指定目录、文件的日志 44
- 显示文件的改动 45
- git diff——查看更改前后的差别 45
- 查看工作树和暂存区的差别 45
- 查看工作树和最新提交的差别 46
- 4.2 分支的操作 47
- git branch——显示分支一览表 48
- git checkout -b——创建、切换分支 48
- 切换到 feature-A 分支并进行提交 48
- 切换到 master 分支 49
- 切换回上一个分支 50
- 特性分支 50
- 主干分支 51
- git merge——合并分支 51
- git log –graph——以图表形式查看分支 52
- 4.3 更改提交的操作 53
- git reset——回溯历史版本 53
- 回溯到创建 feature-A 分支前 53
- 创建 fix-B 分支 54
- 推进至 feature-A 分支合并后的状态 55
- 消除冲突 56
- 查看冲突部分并将其解决 57
- 提交解决后的结果 57
- git commit –amend——修改提交信息 58
- git rebase -i——压缩历史 59
- 创建 feature-C 分支 59
- 修正拼写错误 60
- 更改历史 61
- 合并至 master 分支 63
- 4.4 推送至远程仓库 63
- gitremote add——添加远程仓库 64
- git push——推送至远程仓库 64
- 推送至 master 分支 64
- 推送至 master 以外的分支 65
- 4.5 从远程仓库获取 65
- git clone——获取远程仓库 65
- 获取远程仓库 65
- 获取远程的 feature-D 分支 66
- 向本地的 feature-D 分支提交更改 67
- 推送 feature-D 分支 67
- git pull——获取最新的远程仓库分支 67
- 4.6 帮助大家深入理解 Git 的资料 68
- Pro Git 68
- LearnGitBranching 69
- tryGit 69
- 4.7 小结 70
第 5 章 详细解说 GitHub 的功能 71
- 5.1 键盘快捷键 72
- 5.2 工具栏 73
- 关于 UI 73
- 1LOGO 73
- 2Notifications 73
- 3 搜索窗口 73
- 4Explore 73
- 5Gist 74
- 6Blog 74
- 7Help 74
- 8 头像、用户名 74
- 9 Create a new 74
- Account settings 75
- Sign out 75
- 5.3 控制面板 75
- 关于 UI 75
- ①News Feed 76
- ②Pull Requests 76
- ③Issues 76
- ④Stars 76
- ⑤Broadcast 76
- ⑥Repositories you contribute to 76
- ⑦Your Repositories 76
- 5.4 个人信息 77
- 关于 UI 77
- 1 用户信息 77
- 2Popular Repositories 78
- 3Repositories contributed to 78
- 4Public contributions 78
- 5Contribution Activity 78
- 6Repositories 78
- 7Public Activity 79
- 5.5 仓库 80
- 关于 UI 80
- ①用户名(组织名)/ 仓库名 80
- ②Watch/Star/Fork 80
- ③Code 81
- ④Issue 81
- ⑤Pull Requests 81
- ⑥Wiki 82
- ⑦Pulse 82
- ⑧Graphs 82
- ⑨Network 82
- ⑩Settings 82
- ?SSH clone URL 82
- ?Clone in Desktop 82
- ?Download ZIP 83
- acommits 83
- bbranches 83
- creleases 83
- dcontributors 83
- eCompare & review 83
- fbranch 83
- gpath 84
- hFork this project and Create a new file 84
- ifiles 84
- 文件的相关操作 84
- Column 专栏:通过部分名称搜索文件 85
- 查看差别 85
- 查看分支间的差别 85
- 查看与几天前的差别 86
- 查看与指定日期之间的差别 87
- 5.6 Issue 87
- 简洁且表现力丰富的描述方法 88
- 语法高亮 89
- 添加图片 90
- 添加标签以便整理 90
- 添加里程碑以便管理 91
- Column 专栏:了解贡献时的规则! 92
- Tasklist 语法 92
- 通过提交信息操作 Issue 93
- 在相关 Issue 中显示提交 93
- Close Issue 93
- 将特定的 Issue 转换为 Pull Request 94
- 5.7 Pull Request 94
- Column 专栏:获取 diff 格式与 patch 格式的文件 96
- Conversation 96
- Column 专栏:引用评论 96
- Commits 97
- Column 专栏:在评论中应用表情 98
- Files Changed 98
- 5.8 Wiki 99
- Pages 100
- History 101
- Column 专栏:在 Wiki 中显示侧边栏 101
- 5.9 Pulse 102
- active pull requests 103
- active issue 103
- commits 104
- Releases published 104
- Unresolved Conversations 104
- 5.10 Graphs 105
- Contributors 105
- Commit Activity 1