11浏览托管项目
22===============
33
4- GitHub的账户已经建立好了,在建立自己的项目托管之前,看看别人是怎么做的。在GitHub中搜索字符串“GotGit”,可以搜索到我建立的一个项目,项目地址是: https://github.com/gotgit/gotgit/ 。由上至下,GotGit项目首页可以分为四个区域 。
4+ GitHub的账户已经建立好了,在建立自己的项目托管之前,看看别人是怎么做的。在GitHub中搜索字符串“GotGit”,可以搜索到我建立的一个项目,项目地址是: https://github.com/gotgit/gotgit/ 。由上至下,GotGit项目首页可以分为如下几个区域 。
55
66* 区域一:项目概要介绍及版本库URL等。
77
@@ -24,125 +24,135 @@ GitHub的账户已经建立好了,在建立自己的项目托管之前,看
2424
2525 $ git clone git://github.com/gotgit/gotgit.git
2626
27+ * 区域二:代码浏览子菜单及分支切换对话框。
2728
28- * 区域二:显示提交说明、提交用户头像、提交时间等提交信息。右侧还显示此次提交对应的提交ID、树ID,及父提交ID等。
29+ 默认项目代码页(即项目首页)显示 ``Files `` 子菜单,即显示项目文件列表。在图2-11的右侧还显示了项目 ``gotgit/gotgit `` 默认的分支为 ``gh-pages `` 而非常见的 ``master `` 分支。关于 ``gh-pages `` 分支,在“第3.5节 建立主页”会介绍名为 ``gh-pages `` 分支的神奇用途。
30+
31+ .. figure :: /images/join-github/gotgit-repo-tree-1-submenu.png
32+ :scale: 100
33+
34+ 图2-11:代码浏览子菜单及分支
35+
36+ * 区域三:显示最新提交的提交说明、提交用户头像、提交时间等提交信息。右侧还显示此次提交对应的提交ID。
2937
3038 .. figure :: /images/join-github/gotgit-repo-tree-2.png
3139 :scale: 100
3240
33- 图2-11 :提交信息
41+ 图2-12 :提交信息
3442
35- * 区域三 :目录树。每个目录和文件后面还显示最后一次变更的提交说明。
43+ * 区域四 :目录树。每个目录和文件后面还显示最后一次变更的提交说明。
3644
3745 .. figure :: /images/join-github/gotgit-repo-tree-3.png
3846 :scale: 100
3947
40- 图2-12 :目录树
48+ 图2-13 :目录树
4149
42- * 区域四 :根目录下的文件 ``README.mkd `` 格式化为HTML输出显示。
50+ * 区域五 :根目录下的文件 ``README.mkd `` 格式化为HTML输出显示。
4351
44- GitHub内置了多种文本标记语言的支持,如Markdown、Textile、reStructuredText、asciidoc、Wiki等。当发现根目录下的 ``README `` 文件后,会根据其使用的标记语言类别 ,自动转换为HTML格式显示。
52+ GitHub内置了多种文本标记语言的支持,如Markdown、Textile、reStructuredText、asciidoc、Wiki等。当发现根目录下的 ``README `` 文件后,会根据其扩展名判断所用的标记语言类型 ,自动转换为HTML格式显示。
4553
4654 .. figure :: /images/join-github/gotgit-repo-tree-4.png
4755 :scale: 100
4856
49- 图2-13 :README文件
57+ 图2-14 :README文件
5058
5159在GitHub的页面中可以使用键盘快捷键,按下问号(?)会在弹出窗口显示当前页面可用的快捷键。
5260
53- 在项目的首页可以按下字母"p",显示当前提交的父提交。图2-14就是当按下字母"p"后,切换到父提交(对照图2-11) 。
61+ 在项目的代码浏览页按下字母“w”,弹出分支切换菜单,如图2-15所示 。
5462
55- .. figure :: /images/join-github/gotgit-repo-tree-parent .png
63+ .. figure :: /images/join-github/gotgit-repo-switch-branch .png
5664 :scale: 100
5765
58- 图2-14 :快捷键"p"切换到父提交
66+ 图2-15 :快捷键“w”切换分支
5967
60- 按下字母"f" ,开启目录树中文件查找和过滤。图2-15就是在按下字母"f" 后,当逐一输入单词" download" 时的过滤效果。
68+ 按下字母“t” ,开启目录树中文件查找和过滤。图2-16就是在按下字母“t” 后,当逐一输入单词“ download” 时的过滤效果。
6169
6270.. figure :: /images/join-github/gotgit-repo-tree-filter.png
6371 :scale: 100
6472
65- 图2-15:快捷键t开启过滤器在目录树中搜索
73+ 图2-16:快捷键“t”开启过滤器在目录树中搜索
6674
67- 点击菜单中的“Commits”(提交)显示版本库GotGit的提交历史,如图2-16所示 。
75+ 点击菜单中的“Commits”(提交)显示版本库GotGit的提交历史,如图2-17所示 。
6876
6977.. figure :: /images/join-github/gotgit-repo-commit-history.png
7078 :scale: 100
7179
72- 图2-16 :提交历史
80+ 图2-17 :提交历史
7381
74- 提交历史页面也支持快捷键,按下问号(?)或者点击页面中的键盘标志会显示快捷键帮助。其中快捷键"j"和"k"用于在提交列表中向上和向下选择提交,在选中的提交按下回车键,会显示该提交包含的文件改动差异,如图2-17所示 。
82+ 提交历史页面也支持快捷键,按下问号(?)或者点击页面中的键盘标志会显示快捷键帮助。其中快捷键"j"和"k"用于在提交列表中向上和向下选择提交,在选中的提交按下回车键,会显示该提交包含的文件改动差异,如图2-18所示 。
7583
7684.. figure :: /images/join-github/gotgit-repo-commit-diff.png
7785 :scale: 100
7886
79- 图2-17 :文本文件改动差异
87+ 图2-18 :文本文件改动差异
8088
8189在文本文件的差异比较中,不但将有差异的行标识出来,还将行内具体改动的字词用特殊颜色进行了标识,不由得感叹GitHub的细致入微。
8290
8391GitHub还支持对图形文件的差异比较,并提供四种比较方式。在如下地址: http://git.io/image-diff [# ]_ 提供了一个示例提交,尝试一下使用不同的图形文件比较方式,查看该提交对图形文件的改动。
8492
85- * 默认修改前后的两幅图片左右并排显示,如图2-18所示 。
93+ * 默认修改前后的两幅图片左右并排显示,如图2-19所示 。
8694
8795 .. figure :: /images/join-github/image-diff-2-up.png
8896 :scale: 100
8997
90- 图2-18 :左右并排比较图形文件差异
98+ 图2-19 :左右并排比较图形文件差异
9199
92- * 选择交换显示比较修改前后的图片,用鼠标左右拖动进度条,可以非常直观地看到图片的差异。如图2-19所示 。
100+ * 选择交换显示比较修改前后的图片,用鼠标左右拖动进度条,可以非常直观地看到图片的差异。如图2-20所示 。
93101
94102 .. figure :: /images/join-github/image-diff-swipe.png
95103 :scale: 100
96104
97- 图2-19 :交换显示图形文件比较差异
105+ 图2-20 :交换显示图形文件比较差异
98106
99107* 还提供洋葱皮和色差比较,自己动手试试吧。
100108
101- 网络图是GitHub的一大特色,显示一个项目的版本库被不同用户派生(Fork)后,各个版本库的派生关系。这个网络图最早使用Flash实现的,目前已经改为HTML5实现 [# ]_ 。图2-20的示例网络图来自于Gitosis项目 。
109+ 网络图是GitHub的一大特色,显示一个项目的版本库被不同用户派生(Fork)后,各个版本库的派生关系。这个网络图最早使用Flash实现的,目前已经改为HTML5实现 [# ]_ 。图2-21的示例网络图来自于Gitosis项目 [ # ]_ 。
102110
103111.. figure :: /images/join-github/network-graph.png
104112 :scale: 100
105113
106- 图2-20 :Gitosis项目网络图
114+ 图2-21 :Gitosis项目网络图
107115
108- Pull Requests(拉拽请求)是派生(Fork)版本库的开发者向项目贡献提交的方法。如图2-21所示 ,GotGit项目目前没有未被处理的Pull Request,但是可以看到有一个已经关闭的Pull Request请求。
116+ Pull Requests(拉拽请求)是派生(Fork)版本库的开发者向项目贡献提交的方法。如图2-22所示 ,GotGit项目目前没有未被处理的Pull Request,但是可以看到有一个已经关闭的Pull Request请求。
109117
110118.. figure :: /images/join-github/gotgit-repo-pull-request.png
111119 :scale: 100
112120
113- 图2-21 :Pull Requests界面
121+ 图2-22 :Pull Requests界面
114122
115- 这个Pull Request是GitHub用户agate发现了GotGit脚本中一个和ruby1.9不兼容的Bug,当我把agate派生版本库中的提交合并到GotGit版本库后,该Pull Request自动关闭。整个Pull Request的变更记录如图2-22所示 。
123+ 这个Pull Request是GitHub用户agate发现了GotGit脚本中一个和ruby1.9不兼容的Bug,当我把agate派生版本库中的提交合并到GotGit版本库后,该Pull Request自动关闭。整个Pull Request的变更记录如图2-23所示 。
116124
117125.. figure :: /images/join-github/gotgit-repo-pull-request-detail.png
118126 :scale: 100
119127
120- 图2-22 :Pull Request的变更历史
128+ 图2-23 :Pull Request的变更历史
121129
122- 缺陷追踪(Issue)也是GitHub工作流中一个重要的组件。GotGit项目用缺陷跟踪系统帮助维护《Git权威指南》一书的勘误,图2-23可以看到已关闭问题中有一个网友发现书的中的文字错误。
130+ 缺陷追踪(Issue)也是GitHub工作流中一个重要的组件。GotGit项目用缺陷跟踪系统帮助维护《Git权威指南》一书的勘误,图2-24
131+ 可以看到当前有2个打开的问题和9个已关闭的问题。
123132
124133.. figure :: /images/join-github/gotgit-repo-issue.png
125134 :scale: 100
126135
127- 图2-23 :缺陷追踪
136+ 图2-24 :缺陷追踪
128137
129- GitHub还为项目提供图像化报表分析。图2-24是GotGit项目中用到的开发语言分布图 。
138+ GitHub还为项目提供图像化报表分析。图2-25是GotGit项目中用到的开发语言分布图 。
130139
131140.. figure :: /images/join-github/gotgit-repo-graph-lang.png
132141 :scale: 100
133142
134- 图2-24 :GotGit项目开发语言分布图
143+ 图2-25 :GotGit项目开发语言分布图
135144
136- 图2-25是开发者对GotGit项目贡献分布图 。
145+ 图2-26是开发者对GotGit项目贡献分布图 。
137146
138147.. figure :: /images/join-github/gotgit-repo-graph-impact.png
139148 :scale: 100
140149
141- 图2-25 :GotGit项目贡献分布图
150+ 图2-26 :GotGit项目贡献分布图
142151
143152----
144153
145154.. [# ] 项目 gotgit 最早由用户 ossxp-com 创建,现已转移到组织 gotgit 账号之下。
146155 .. [# ] https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days
147156 .. [# ] 短格式URL,实际对应于: https://github.com/cameronmcefee/Image-Diff-View-Modes/commit/8e95f7
148157 .. [# ] https://github.com/blog/621-bye-bye-flash-network-graph-is-now-canvas
158+ .. [# ] https://github.com/res0nat0r/gitosis
0 commit comments