diff --git a/01.md b/01.md index 5059a5b5958ec1d23df10764e1bf6b77c67f45b9..1f60f3620a0339a40321964e34cdde6f836812a7 100644 --- a/01.md +++ b/01.md @@ -1,52 +1,52 @@ -## 一、认识 Git 与 码云网站 ------- - -### 1. 什么是 Git - -Git 是目前世界上最先进的分布式版本控制系统(没有之一)。 - -我们平时使用 Word 写文章想删除一段文字,但又怕将来想恢复找不回来怎么办? - -很多人会先把当前文档“另存为”一个新的文档,再接着改;改到一定程度再“另存为”一个新文档,等发现问题想恢复,自己可能都搞不清楚哪个是哪个了。 - -Git 能够帮助我们自动记录每次文件的改动,而且还可以与其他人一起编辑、修改,这样就不用人工管理一堆类似的文件了,也不需要把文件传来传去。 - -如果你对 Git 有兴趣,想深入了解,可以 单击此处 阅读廖雪峰老师关于 Git 的教程,这是我认为最好的 Git 教程。 - - -### 2. **码云** 网站能够干什么? - -**码云** 是开源中国社区于2013年推出的基于 Git 的代码托管服务,目前已经成为国内最大的代码托管平台。用它可以来完成但不限于以下这些工作: - -* **代码托管** :程序员做的最多,可以上传代码、云端备份,也可以从中找到很多大牛分享的代码。一个程序员如果不懂 Git ,不会代码托管,那肯定是一个很业余的程序员。 - -* **项目管理** :现在很多互联网公司开发的程序都很庞大,需要很多程序员协作开发,通过码云这样的网站可以很方便的管理开发项目。当然,不仅仅是程序开发,事实上现在有越来越多的需要版本控制、需要协作开发的项目,也都可以在码云网站完成。本教程就是专门针对中小学信息技术老师、学生以及其它业余人员,指导他们如何在 **码云** 网站上,不使用复杂的 Git 代码,直接通过网站上的操作,进行文档的协作撰写、内容的互动交流。 - -* **建立个人主页** : 码云网站上的 pages 提供了个人主页创建的功能,可以很方便的建议自己的个人网络空间,发布相关的网络信息,具体方法将在后面的文档详细介绍。 - - - -### 3. GitHub 是什么? - -其实国外影响力最大的 Git 代码托管平台是 GitHub (可以单击此处打开网站) ,微软 2018 年以价值约75亿美元的股票收购了这个网站,下图就是 Github 创始人 Chris Wanstrath 。 - -![Github创始人](https://images.gitee.com/uploads/images/2020/0214/123935_e51c1645_5279685.jpeg "Github创始人Chris Wanstrath.jpg") - - GitHub 除了基本的 Git 代码仓库托管以及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享等功能。 - -相比于 码云 ,GitHub 的功能更加强大,同时也汇聚了全世界最多的开源项目,从 GitHub 中能够找到很多知名开源项目。但由于这个网站服务器在国外,所以访问速度相对比较慢;同时网站操作界面是英文的,对国内的业余人士来说并不是非常好的入门选项。 - -以下是一些在 GitHub 上比较有意思的开源项目: - -* 与 Scratch 相关的开源项目,包括 Scratch 3 、Scratch JR 等:https://github.com/LLK -* 浙江大学课程攻略共享计划:https://qsctech.github.io/zju-icicles -* 人工智能对对联:https://github.com/wb14123/seq2seq-couplet -* AutoPiano(自动钢琴):https://github.com/WarpPrism/AutoPiano -* (不定时添加中,欢迎大家留言共享) - -### 相关链接 - -* [目录](readme.md) -* 下一章:[二、码云网站的基本使用](02.md) - - +## 一、认识 Git 与 码云网站 +------ + +### 1. 什么是 Git + +Git 是目前世界上最先进的分布式版本控制系统(没有之一)。 + +我们平时使用 Word 写文章想删除一段文字,但又怕将来想恢复找不回来怎么办? + +很多人会先把当前文档“另存为”一个新的文档,再接着改;改到一定程度再“另存为”一个新文档,等发现问题想恢复,自己可能都搞不清楚哪个是哪个了。 + +Git 能够帮助我们自动记录每次文件的改动,而且还可以与其他人一起编辑、修改,这样就不用人工管理一堆类似的文件了,也不需要把文件传来传去。 + +如果你对 Git 有兴趣,想深入了解,可以 单击此处 阅读廖雪峰老师关于 Git 的教程,这是我认为最好的 Git 教程。 + + +### 2. **码云** 网站能够干什么? + +**码云** 是开源中国社区于2013年推出的基于 Git 的代码托管服务,目前已经成为国内最大的代码托管平台。用它可以来完成但不限于以下这些工作: + +* **代码托管** :程序员做的最多,可以上传代码、云端备份,也可以从中找到很多大牛分享的代码。一个程序员如果不懂 Git ,不会代码托管,那肯定是一个很业余的程序员。 + +* **项目管理** :现在很多互联网公司开发的程序都很庞大,需要很多程序员协作开发,通过码云这样的网站可以很方便的管理开发项目。当然,不仅仅是程序开发,事实上现在有越来越多的需要版本控制、需要协作开发的项目,也都可以在码云网站完成。本教程就是专门针对中小学信息技术老师、学生以及其它业余人员,指导他们如何在 **码云** 网站上,不使用复杂的 Git 代码,直接通过网站上的操作,进行文档的协作撰写、内容的互动交流。 + +* **建立个人主页** : 码云网站上的 pages 提供了个人主页创建的功能,可以很方便的建议自己的个人网络空间,发布相关的网络信息,具体方法将在后面的文档详细介绍。 + + + +### 3. GitHub 是什么? + +其实国外影响力最大的 Git 代码托管平台是 GitHub (可以单击此处打开网站) ,微软 2018 年以价值约75亿美元的股票收购了这个网站,下图就是 Github 创始人 Chris Wanstrath 。 + +
+ + GitHub 除了基本的 Git 代码仓库托管以及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享等功能。 + +相比于 码云 ,GitHub 的功能更加强大,同时也汇聚了全世界最多的开源项目,从 GitHub 中能够找到很多知名开源项目。但由于这个网站服务器在国外,所以访问速度相对比较慢;同时网站操作界面是英文的,对国内的业余人士来说并不是非常好的入门选项。 + +以下是一些在 GitHub 上比较有意思的开源项目: + +* 与 Scratch 相关的开源项目,包括 Scratch 3 、Scratch JR 等:https://github.com/LLK +* 浙江大学课程攻略共享计划:https://qsctech.github.io/zju-icicles +* 人工智能对对联:https://github.com/wb14123/seq2seq-couplet +* AutoPiano(自动钢琴):https://github.com/WarpPrism/AutoPiano +* (不定时添加中,欢迎大家留言共享) + +### 相关链接 + +* [目录](readme.md) +* 下一章:[二、码云网站的基本使用](02.md) + + diff --git a/02.md b/02.md index b11b09f447c77e8014a553f65f17d7796dfb33c6..f43f9647384ff0b54bf89aafa115d5765e048881 100644 --- a/02.md +++ b/02.md @@ -1,62 +1,69 @@ -## 二、码云网站的基本使用 ------- - -### 1. 登录并注册账号 - -**码云** 网站地址是:gitee.com,可以 单击此处 打开。 - -网站未登录前的网页如下图所示: -
- -进入网站后,单击首页右上角的 **注册** 文字链接或者单击网页中间 **加入码云** 按钮,都会打开如下图所示的 **注册** 对话框。 -
- -在如上图所示对话框中,依次按要求填入各项信息,与绝大多数网站注册差不多。需注意的有以下几点: -* 为了沟通、辨识方便,**姓名** 建议填真实姓名,当然也可以是网名。 -* **个人空间地址** 是用户在码云网站上的唯一标识(可以通过 **码云域名+标识** 作为网络地址访问你在码云网站上的个人主页),一经选定,后期无法修改,请慎重填写。 -* **手机或邮箱** 可以填任一项,都是为了验证身份的。如果填邮箱,完成后是通过邮箱接收邮件激活注册帐号,正式进入码云后还会提示绑定手机,建议使用国内邮箱(如163、QQ),以免因为众所周知的原因无法接收激活邮件。如果填的是手机号码,网站会发送验证码(为了提高完全性还可能需要进行机器验证,人工输入显示的验证码)验证。 -* 也可以通过微信等第三方登录平台授权登录,授权登录后再按照引导提示填写相关信息。 - - -### 2. 认识 **我的工作台** 窗口 - -注册成功或者登录通过以后,默认显示的是如下图所示的窗口。 -
- -这个窗口最上方的工具栏是固定的,不管你进入哪个页面都会显示。工具栏左边是不同版本码云的链接,右边是搜索框以及三个下拉列表按钮,具体使用方法将在后续文章详细介绍。 - -工具栏下方是 **我的工作台** 网页,这是一个典型的三栏式网页窗口: -* 左边是 **控制面板** ,可以了解用户个人、企业、组织、仓库的相关信息,进行相关设置。 -* 中间是 **动态** ,显示的是与当前帐号相关的各种动态信息,以便于及时了解各种状态。 -* 右边是各种推荐信息,第一次进入网站还会提示一些与新手相关的初始化设置要求。 - - -### 3. 一些重要的设置内容 - -单击网页上方工具栏最右上角的头像图标按钮(默认是注册姓名的第一个文字图像),在打开的下拉列表中单击 **设置** 选项,会打开如下图所示的网页。 -
- -这是典型的左右两栏式网页:左边是各种设置类别和项目的文字链接,右边是具体的设置内容。 - -这些设置项目中,最重要的是以下属于 **基本设置** 类别的一些设置项目: -* **个人资料** :根据自己的实际情况进行设置,很多内容会在 **个人主页** 中展示。 -* **修改密码** :根据需要重新更改密码。 -* **第三方帐号绑定** :选择绑定一些常见应用的帐号,用于登录码云。建议选择绑定 **微信** ,这样可以通过码云的公众号及时接收信息。 -* **多邮箱管理** :请务必确定已经设置了主邮箱(特别是用手机注册的用户),用于接收相关信息。 -* **头像设置** :为了更清晰的展示自己,可以单击网页最左上角的头像图标,更换头像。 - - -### 4. 关于码云使用容量的说明 - -对于一般个人用户来说,按以上步骤创建的就是免费帐号,也就是码云的免费社区版。 - -免费版可以创建最多 1000 个不限制类别的仓库,一共提供最多 5G 的免费存储空间,单个仓库大小上限为 500M ,单个文件最大 100M ,公有类型的仓库成员数量不限、私有仓库总的协作人数最多 5 人。 - - -### 相关链接 - -* [目录](readme.md) -* 下一章:[三、如何查找项目资源?](03.md) -* 上一章:[一、认识 Git 与码云网站](01.md) - - +## 二、码云网站的基本使用 +------ + +### 1. 登录并注册账号 + +**码云** 网站地址是:gitee.com,可以 单击此处 打开。 + +网站未登录前的网页如下图所示: + +
+ +进入网站后,单击首页右上角的 **注册** 文字链接或者单击网页中间 **加入码云** 按钮,都会打开如下图所示的 **注册** 对话框。 + +
+ +在如上图所示对话框中,依次按要求填入各项信息,与绝大多数网站注册差不多。需注意的有以下几点: +* 为了沟通、辨识方便,**姓名** 建议填真实姓名,当然也可以是网名。 + +* **个人空间地址** 是用户在码云网站上的唯一标识(可以通过 **码云域名+标识** 作为网络地址访问你在码云网站上的个人主页),一经选定,后期无法修改,请慎重填写。 + +* **手机或邮箱** 可以填任一项,都是为了验证身份的。如果填邮箱,完成后是通过邮箱接收邮件激活注册帐号,正式进入码云后还会提示绑定手机,建议使用国内邮箱(如163、QQ),以免因为众所周知的原因无法接收激活邮件。如果填的是手机号码,网站会发送验证码(为了提高完全性还可能需要进行机器验证,人工输入显示的验证码)验证。 + +* 也可以通过微信等第三方登录平台授权登录,授权登录后再按照引导提示填写相关信息。 + + +### 2. 认识 **我的工作台** 窗口 + +注册成功或者登录通过以后,默认显示的是如下图所示的窗口。 + +
+ +这个窗口最上方的工具栏是固定的,不管你进入哪个页面都会显示。工具栏左边是不同版本码云的链接,右边是搜索框以及三个下拉列表按钮,具体使用方法将在后续文章详细介绍。 + +工具栏下方是 **我的工作台** 网页,这是一个典型的三栏式网页窗口: +* 左边是 **控制面板** ,可以了解用户个人、企业、组织、仓库的相关信息,进行相关设置。 +* 中间是 **动态** ,显示的是与当前帐号相关的各种动态信息,以便于及时了解各种状态。 +* 右边是各种推荐信息,第一次进入网站还会提示一些与新手相关的初始化设置要求。 + + +### 3. 一些重要的设置内容 + +单击网页上方工具栏最右上角的头像图标按钮(默认是注册姓名的第一个文字图像),在打开的下拉列表中单击 **设置** 选项,会打开如下图所示的网页。 + +
+ +这是典型的左右两栏式网页:左边是各种设置类别和项目的文字链接,右边是具体的设置内容。 + +这些设置项目中,最重要的是以下属于 **基本设置** 类别的一些设置项目: +* **个人资料** :根据自己的实际情况进行设置,很多内容会在 **个人主页** 中展示。 +* **修改密码** :根据需要重新更改密码。 +* **第三方帐号绑定** :选择绑定一些常见应用的帐号,用于登录码云。建议选择绑定 **微信** ,这样可以通过码云的公众号及时接收信息。 +* **多邮箱管理** :请务必确定已经设置了主邮箱(特别是用手机注册的用户),用于接收相关信息。 +* **头像设置** :为了更清晰的展示自己,可以单击网页最左上角的头像图标,更换头像。 + + +### 4. 关于码云使用容量的说明 + +对于一般个人用户来说,按以上步骤创建的就是免费帐号,也就是码云的免费社区版。 + +免费版可以创建最多 1000 个不限制类别的仓库,一共提供最多 5G 的免费存储空间,单个仓库大小上限为 500M ,单个文件最大 100M ,公有类型的仓库成员数量不限、私有仓库总的协作人数最多 5 人。 + + +### 相关链接 + +* [目录](readme.md) +* 下一章:[三、如何查找项目资源?](03.md) +* 上一章:[一、认识 Git 与码云网站](01.md) + + diff --git a/03.md b/03.md index 6d44c8ad30e56f7fe0fd35a78a072c48bcbb7b3f..0fe41066b4219b3429cd3b72d368f34582c6ddd3 100644 --- a/03.md +++ b/03.md @@ -1,47 +1,47 @@ -## 三、如何查找项目资源? ------- - -### 1. 在码云网站中搜索仓库 - -搜索,可能是在海量资源中找到目标的最佳途径。 - -在码云网站的任意页面,最上方工具栏的右边都有一个搜索框,在搜索框中输入关键词(比如输入 **Scratch** )然后按 **回车键** ,都会显示如下图所示的 **搜索结果** 网页。 - -![搜索结果网页](https://images.gitee.com/uploads/images/2020/0204/162538_cbc5ec7c_5279685.png "搜索结果网页") - -**搜索结果** 网页默认显示的是搜索到的 **项目** 列表,根据与搜索关键词的匹配程序排序。 - -每个项目第一行显示的项目所属的用户(组织)名称及项目名称,第二行是项目简介,第三行是相关统计数据。单击第一行的项目名可以进入该项目网页。 - - -### 2. 认识项目网页 - -![“项目”网页](https://images.gitee.com/uploads/images/2020/0204/164331_43ae1c7e_5279685.png "项目网页") - -**项目** 网页如上图所示,主要由以下三部分组成: - -* 最上面是这个项目的主要信息,包括以下一些内容: - * 最左边是项目所属的用户(组织)名称及项目名称,单击项目所属用户(组织)名称可以跳转到相应的 **个人主页** ,单击项目名称可以快速跳转到该项目网页。 - * 右边是与项目有关的 **查看** 、**点赞** 以及 **Fork** 这些类别的统计数据,通过这些数据可以大致了解项目的受欢迎程度。 - -* 然后是这个项目的具体功能选项卡,包括 **代码** 、**Issue** 、**Pull Requests** 、**附件** 、**Wiki** 、**统计** 、**DevOps** 以及 **服务**这八项。其中日常使用最多的是前三项: - * 代码:是默认显示的、也是日常使用最多的选项卡。选项卡上半部分是项目简介、相关统计数据以及项目相关功能的设置链接;选项卡中间是项目所包含所有文件的列表以及选中文件的预览;选项卡下方是项目评价。 - * Issue:用来反馈、交流问题的区域,可以跟踪待办事项、修正项目bug、提交功能需求,可以把它理解为专门针对这个项目的一个论坛。 - * Pull Requests:用来提交对项目的修改、通知项目拥有者将修改合并到项目中去,通过这个选项卡来协调项目参与者一起协作开发项目。 - -* 网页的主体部分是选中选项卡的具体内容,默认显示的是 **代码** 选项卡的内容。具体将在下一章中详细介绍。 - - - -### 3. 了解项目与仓库这两个概念 - -对于码云网站用户来说,如果需要做一件事情(比如开发一个程序、撰写一本书、甚至讨论研究一项工作),都可以归纳为 **做一个项目** 。在码云网站里就是新建一个 **项目** ,网站会自动创建这个 **项目** 的 **仓库** ,把与这个 **项目** 相关的所有信息都集中保存到这个仓库。 - -因此,**项目** 往往是指需要做的 **事情** ,而 **仓库** 就是用来保存相关信息的 **网络空间** 。 - - -### 相关链接 - -* [目录](readme.md) -* 下一章: [四、如何下载项目资源?](04.md) -* 上一章: [二、“码云”网站的基本使用](02.md) +## 三、如何查找项目资源? +------ + +### 1. 在码云网站中搜索仓库 + +搜索,可能是在海量资源中找到目标的最佳途径。 + +在码云网站的任意页面,最上方工具栏的右边都有一个搜索框,在搜索框中输入关键词(比如输入 **Scratch** )然后按 **回车键** ,都会显示如下图所示的 **搜索结果** 网页。 + +
+ +**搜索结果** 网页默认显示的是搜索到的 **项目** 列表,根据与搜索关键词的匹配程序排序。 + +每个项目第一行显示的项目所属的用户(组织)名称及项目名称,第二行是项目简介,第三行是相关统计数据。单击第一行的项目名可以进入该项目网页。 + + +### 2. 认识项目网页 + +
+ +**项目** 网页如上图所示,主要由以下三部分组成: + +* 最上面是这个项目的主要信息,包括以下一些内容: + * 最左边是项目所属的用户(组织)名称及项目名称,单击项目所属用户(组织)名称可以跳转到相应的 **个人主页** ,单击项目名称可以快速跳转到该项目网页。 + * 右边是与项目有关的 **查看** 、**点赞** 以及 **Fork** 这些类别的统计数据,通过这些数据可以大致了解项目的受欢迎程度。 + +* 然后是这个项目的具体功能选项卡,包括 **代码** 、**Issue** 、**Pull Requests** 、**附件** 、**Wiki** 、**统计** 、**DevOps** 以及 **服务**这八项。其中日常使用最多的是前三项: + * 代码:是默认显示的、也是日常使用最多的选项卡。选项卡上半部分是项目简介、相关统计数据以及项目相关功能的设置链接;选项卡中间是项目所包含所有文件的列表以及选中文件的预览;选项卡下方是项目评价。 + * Issue:用来反馈、交流问题的区域,可以跟踪待办事项、修正项目bug、提交功能需求,可以把它理解为专门针对这个项目的一个论坛。 + * Pull Requests:用来提交对项目的修改、通知项目拥有者将修改合并到项目中去,通过这个选项卡来协调项目参与者一起协作开发项目。 + +* 网页的主体部分是选中选项卡的具体内容,默认显示的是 **代码** 选项卡的内容。具体将在下一章中详细介绍。 + + + +### 3. 了解项目与仓库这两个概念 + +对于码云网站用户来说,如果需要做一件事情(比如开发一个程序、撰写一本书、甚至讨论研究一项工作),都可以归纳为 **做一个项目** 。在码云网站里就是新建一个 **项目** ,网站会自动创建这个 **项目** 的 **仓库** ,把与这个 **项目** 相关的所有信息都集中保存到这个仓库。 + +因此,**项目** 往往是指需要做的 **事情** ,而 **仓库** 就是用来保存相关信息的 **网络空间** 。 + + +### 相关链接 + +* [目录](readme.md) +* 下一章: [四、如何下载项目资源?](04.md) +* 上一章: [二、“码云”网站的基本使用](02.md) diff --git a/04.md b/04.md index f61fa0c38a505f2fa128873e010c3a8ccf945392..43f12c02ca747d672159108153a293ea474db53c 100644 --- a/04.md +++ b/04.md @@ -1,60 +1,60 @@ -## 如何下载项目资源? ------- - -### 1. 整个仓库的下载 - -整个仓库的下载,就是将项目所有文件都下载下来。 - -在搜索到的项目网页的右边,有一个非常醒目的、黄色的 **克隆/下载** 按钮。单击这个按钮,会打开如下图红色框所示的下拉列表。 - -![项目“克隆/下载”下拉列表](https://images.gitee.com/uploads/images/2020/0212/121028_b41b87f7_5279685.png "4-1.png") - -**克隆/下载** 下拉列表分为三部分: -* 最上面是各种不同的下载协议,默认的是 **HTTPS** 选项; -* 中间是所选协议的地址,直接单击右边的 **复制** 按钮,可以将地址复制下来。 -* 以上这两个选项一般用于克隆项目,如果要下载项目仓库,可以直接单击第三行的 **下载ZIP** 按钮,使用浏览器的下载功能将打包好的项目仓库以 ZIP 压缩包文件的形式下载下来。 -> 注:在下载的时候,可能会要求输入验证码。 - -下载完成后,将压缩包解压,就可以得到与原始仓库完全一样的文件夹。 - - -### 2. 单个文件的下载 - -在搜索到的项目网页中,默认显示的是 **代码** 选项卡,网页中间显示的是文件的列表框,单击其中的文件名,就会打开相应的网页。 - -(1). 如果单击的文件是纯文本文件,比如扩展名为 **md** 的 Markdown 文档以及各种编程语言的源代码文件,打开的是如下图所示的文本文件浏览网页: - -![文本文件浏览网页](https://images.gitee.com/uploads/images/2020/0212/121403_d69f5ed4_5279685.png "4-2.png") - -在 **文本文件浏览** 网页中: -* 最上面一排左边是分支名称、在仓库中的目录结构,右边是 **克隆/下载** 按钮; -* 第二排左边是所浏览文档的相关信息,右边是一排工具按钮; -* 最下方是所浏览文档的预览,可以看到这个文档的具体内容。 - -要下载所浏览的这个文档,可以使用右上角工具按钮中最左边的 **一键复制** 按钮: -* 可以左键单击这个按钮,会将这个文档的所有文本内容都复制到剪切板,然后可以打开自己经常使用的文本编辑器,将复制的内容粘贴下来; -* 也可以右键单击这个按钮,在打开的浏览器右键快捷菜单中选择 **目标另存为** 选项(不同的浏览器可能具体选项不同),将这个文档下载下来。 - -(2). 如果单击的是图像文件,那么打开的是如下图所示的图像文件浏览网页: - -![图像文件浏览网页](https://images.gitee.com/uploads/images/2020/0212/122731_8bdc5aff_5279685.png "4-3.png") - -与 **文本文件浏览** 网页类似,上面是该文件相关的信息,下方是图像的预览区。 - -要下载这个图像文件,可以右键单击右上角的 **原始数据** 按钮,在打开的浏览器右键快捷菜单中选择 **目标另存为** 选项,将图像文件下载下来;当然也可以右键单击预览的图像,在打开的浏览器右键快捷菜单中选择类似于 **图片另存为** 、**目标另存为** 选项保存图像文件。 - -(3). 如果单击的是 Office 或者 PDF 这些二进制文件,那么会打开如下图所示的文件浏览网页: - -![二进制文件浏览网页](https://images.gitee.com/uploads/images/2020/0214/095623_1849ce26_5279685.png "4-4.png") - -与前面介绍的两类文件浏览网页类似,也是在上方显示文件的相关信息,只是因为是二进制文件不支持预览,因此在 **预览区** 显示的是文件下载链接。 - -要下载这个文件,可以直接单击 **预览区** 的下载链接,将文件下载下来。 - - -### 相关链接 - -* [目录](readme.md) -* 下一章: [五、通过 Issue 交流](05.md) -* 上一章: [三、如何查找项目资源?](03.md) - +## 如何下载项目资源? +------ + +### 1. 整个仓库的下载 + +整个仓库的下载,就是将项目所有文件都下载下来。 + +在搜索到的项目网页的右边,有一个非常醒目的、黄色的 **克隆/下载** 按钮。单击这个按钮,会打开如下图红色框所示的下拉列表。 + +
+ +**克隆/下载** 下拉列表分为三部分: +* 最上面是各种不同的下载协议,默认的是 **HTTPS** 选项; +* 中间是所选协议的地址,直接单击右边的 **复制** 按钮,可以将地址复制下来。 +* 以上这两个选项一般用于克隆项目,如果要下载项目仓库,可以直接单击第三行的 **下载ZIP** 按钮,使用浏览器的下载功能将打包好的项目仓库以 ZIP 压缩包文件的形式下载下来。 +> 注:在下载的时候,可能会要求输入验证码。 + +下载完成后,将压缩包解压,就可以得到与原始仓库完全一样的文件夹。 + + +### 2. 单个文件的下载 + +在搜索到的项目网页中,默认显示的是 **代码** 选项卡,网页中间显示的是文件的列表框,单击其中的文件名,就会打开相应的网页。 + +(1). 如果单击的文件是纯文本文件,比如扩展名为 **md** 的 Markdown 文档以及各种编程语言的源代码文件,打开的是如下图所示的文本文件浏览网页: + +
+ +在 **文本文件浏览** 网页中: +* 最上面一排左边是分支名称、在仓库中的目录结构,右边是 **克隆/下载** 按钮; +* 第二排左边是所浏览文档的相关信息,右边是一排工具按钮; +* 最下方是所浏览文档的预览,可以看到这个文档的具体内容。 + +要下载所浏览的这个文档,可以使用右上角工具按钮中最左边的 **一键复制** 按钮: +* 可以左键单击这个按钮,会将这个文档的所有文本内容都复制到剪切板,然后可以打开自己经常使用的文本编辑器,将复制的内容粘贴下来; +* 也可以右键单击这个按钮,在打开的浏览器右键快捷菜单中选择 **目标另存为** 选项(不同的浏览器可能具体选项不同),将这个文档下载下来。 + +(2). 如果单击的是图像文件,那么打开的是如下图所示的图像文件浏览网页: + +
+ +与 **文本文件浏览** 网页类似,上面是该文件相关的信息,下方是图像的预览区。 + +要下载这个图像文件,可以右键单击右上角的 **原始数据** 按钮,在打开的浏览器右键快捷菜单中选择 **目标另存为** 选项,将图像文件下载下来;当然也可以右键单击预览的图像,在打开的浏览器右键快捷菜单中选择类似于 **图片另存为** 、**目标另存为** 选项保存图像文件。 + +(3). 如果单击的是 Office 或者 PDF 这些二进制文件,那么会打开如下图所示的文件浏览网页: + +
+ +与前面介绍的两类文件浏览网页类似,也是在上方显示文件的相关信息,只是因为是二进制文件不支持预览,因此在 **预览区** 显示的是文件下载链接。 + +要下载这个文件,可以直接单击 **预览区** 的下载链接,将文件下载下来。 + + +### 相关链接 + +* [目录](readme.md) +* 下一章: [五、通过 Issue 交流](05.md) +* 上一章: [三、如何查找项目资源?](03.md) + diff --git a/05.md b/05.md index 9336b4febfff59e8596b321b677db581e08567fb..241e699594b0011727bdfcdb91566fc3f78dc3f9 100644 --- a/05.md +++ b/05.md @@ -1,107 +1,123 @@ -## 五、通过 Issue 交流、完善项目 ------- - -### 1. 什么是 Issue ? - -Issue 这个英文单词百度翻译:当它作为名词使用时的意思是:**重要议题;争论的问题**([单击此处](https://fanyi.baidu.com/?aldtype=85#en/zh/issues)打开相应的百度翻译网页)。 - -在 GitHub 、码云这类网站中,每个项目创建以后,在项目网页中都会自动建立一个如下图所示的 Issue 选项卡,中文可以称呼为 **问题单** 。 - -![Issue 选项卡](https://images.gitee.com/uploads/images/2020/0213/113237_82149ab2_5279685.png "5-1.png") - -在码云网站上,可以通过 Issue 进行交流,向项目拥有者提交自己发现的 BUG ;也可以就项目中自己不清楚的地方提出问题、针对别人提出的问题进行讨论;甚至项目拥有者还可以通过 Issue 事先列出项目后续的进展、向其它项目开发者分配任务。 - -下文将着重介绍作为一个对项目感兴趣的码云网站用户,如何通过 Issue 交流项目相关的问题,协助完善项目。 - - - -### 2. 认识 Issue 选项卡 - -单击进入搜索到的项目网页,默认显示的是 **代码** 选项卡,单击该选项卡右边的 **Issue** 就可以进入 **Issue** 选项卡,如下图所示就是一个已经有一个处于 **开启的** 状态的 Issue 选项卡。 - -![输入图片说明](https://images.gitee.com/uploads/images/2020/0213/113334_511e3c17_5279685.png "5-2.png") - -* Issue 选项卡最上面是工具栏。 - * 左边是三个子选项卡,分别是 **列表** 、**看板** 、 **里程碑** 。默认进入的是 **列表** 子选项卡,在这个网页的下方显示的都是与这个项目有关的 Issue 。至于另两个子选项卡,相关的概念在文档最后概要解释。 - * Issue 选项卡最上面一行右边是非常醒目的 **新建 Issue** 按钮,单击能够新建 Issue 。具体在下文详细介绍。 - -* Issue 选项卡工具栏下方是 Issue 搜索区域,当 Issue 比较多时,通过选择合理的搜索方式,能够快速找到自己想要关注的 Issue 。网站提供以下两种方式搜索: - * 一是在搜索框中输入关键词搜索。默认是在 **开启的** 范围内搜索;也可以取消这个选项,对搜索范围不作限制或者添加自己需要的范围。这种搜索方式适合于 Issue 非常多的情况下,可以在海量的 Issue 中找到符合自己需要的。 - * 二是通过 Issue 状态搜索。默认也是 **开启的** ,除此之外还可以选择 **所有** 、**进行中** 、**已完成** 、**已拒绝** 等状态的 Issue 。这种搜索方式比较适用于 Issue 不多的情况下,通过不同搜索范围的选择,快速找到自己所需要的 Issue 。 - -* Issue 选项卡下方是 Issue 列表,显示符合搜索条件的 Issue 。每条 Issue 包括标题以及相关的其它信息,单击标题可以显示这条 Issue 的具体内容网页,详细介绍见后文。 - - - -### 3. 新建 Issue - -要新建 Issue ,首先必须确保已经登录 **码云** 网站;然后根据上文介绍的方法,找到需要新建 Issue 的项目,并且进入该项目的 Issue 选项卡;最后单击 Issue 选项卡右上角的 **新建 Issue** 按钮,就可以打开如下图所示的 **新建 Issue** 网页: - -![新建 Issue 网页](https://images.gitee.com/uploads/images/2020/0213/130513_52c219b5_5279685.png "5-3.png") - -* 在 **新建 Issue** 网页中,首先在最上面的文本框中输入这个 Issue 的标题。为了便于他人了解 Issue 主要内容,标题要简明扼要、意思表达清晰。在输入标题的过程中,如果有关键词已经在其它 Issue 中提及,就会在文本框的下方显示相应的提示内容。请务必确认该提示的信息是否与想要新建的 Issue 冲突,如果没有冲突,说的是两回事,可以不去管它;如果自己想要讨论的问题已经有人发表过了,那就不要再重复新建。 -* 在 **文本编辑** 区域输入 Issue 的具体内容,详细说明自己想要交流的问题。在输入的时候,可以充分利用 **文本编辑** 区域上方工具栏中的各种按钮,格式化文本内容,使得文本表达更加清楚。详细的使用方法和技巧将在后文详细介绍。 -* 最后单击 **创建** 按钮新建这个 Issue ,创建成功后会显示这个 Issue 的内容网页。 - - - -### 4. 在 Issue 中交流 - -根据上文的步骤新建了一条 Issue ,或者根据搜索找到的 **列表** ,单击其中感兴趣 Issue 的标题,都会打开如下图所示的 Issue 内容网页: - -![ Issue 内容网页](https://images.gitee.com/uploads/images/2020/0213/132108_302289ec_5279685.png "5-4.png") - -对于普通用户来说, Issue 内容网页分为以下几部分: -* 最上方是 **标题** 区域。如果是这个 Issue 的发布者或者拥有相应权限的用户,那么标题的右边会有一个醒目的 **编辑** 按钮,单击可以对 Issue 内容重新编辑修改。 - -* 标题下方是一些与当前 Issue 相关的信息,从左向右依次为: - * Issue 的编号。单击编号可以复制,方便在其它 Issue 中引用。 - * Issue 的的状态。新建 Issue 默认是 **待办的** 状态, Issue 的发布者或者拥有相应权限的用户可以按下文介绍的方法改变状态。 - * Issue 的创建者账号。单击可以打开该用户的 **个人主页** ,查看详细个人信息。 - * Issue 的创建时间。 - -* 在 Issue 的标题和相关信息下方由三部分内容组成: - * 左上方是 Issue 的具体内容。 - * Issue 内容的下方是 Issue 的参与情况。默认显示最近一条记录,单击右边的 **展开详细操作日志** 文字链接,可以查看所有操作。 - * 左边的最下方是 **评论** 区域。也是一个文本编辑区域,可以针对这条 Issue 发表自己的意见、建议。如果没有看到这个文本编辑区域,那么说明还没有登录网站,要先登录才可以发表评论。 - * 右边是与这个 Issue 相关的协作状态区域。如果是一般用户,只能浏览、查看相关信息;如果是 Issue 的发布者,那么可以在区域上方修改 Issue 的 **当前状态** ,也可以单击区域下方的 **删除** 按钮,选择删除这个 Issue ;如果是项目创建者或者拥有相应权限用户,除了可以改变状态、删除 Issue ,还可以设置其它选项,围绕这个 Issue 进行协作、交流。 - - - -### 5. Issue 的状态设置 - -每个 Issue 都有 **状态** 这种属性, Issue 新建完成后默认是 **待办的** 状态。 - -**状态** 一共有四种:除了默认 **待办的** ,还有 **进行中** 、**已完成** 、**已拒绝** 。 - - Issue 创建者或者拥有项目相应权限的用户可以在上文所介绍的 **Issue 内容网页** 的 **协作状态** 区域设置 **当前状态** 。 - -如果一个项目的 Issue 比较多,可以在 **Issue** 选项卡的 **看板** 子选项卡中查看,如下图所示: - -![看板子选项卡](https://images.gitee.com/uploads/images/2020/0214/120801_6e92af21_5279685.png "4-5.png") - -通过不同的 **状态** 筛选自己感兴趣的 Issue 。 - - - -### 6. 关于负责人、标签、里程碑的简要介绍 - - Issue 的功能非常强大,除了提交问题、基于问题进行讨论交流之外,还可以进行项目的协作开发。 - -要进行协作,需要项目的发布者或者拥有相应权限的用户,在上文所介绍的 **Issue 内容网页** 的 **协作状态** 区域灵活设置 **负责人** 、**标签** 、**里程碑** 等选项。下面对这些概念做个简要介绍: - -* 负责人:英文 Assignees ,也可翻译为 **责任人** ,一个负责解决这个 Issue 的人,每个 Issue 都可以有一个负责人。 -* 标签:英文 Labels ,每个 Issue 可以包含任意数量的标签,通过 **标签** 可以把不同的 Issue 有效组织起来,也可以在搜索 Issue 的时候通过 **标签** 快速找到需要的 Issue 。 -* 里程碑:英文 Milestones ,是对应于项目、功能或时间段的问题组。灵活使用它可以协调项目参与者的进度,提醒项目参与者应该如何完成、应该做哪些工作。具体的 **里程碑** 可以在 **Issue** 选项卡的 **里程碑** 子选项卡中设置。 - -除此之外,还可以通过 **关联项目** 、**关联分支** 将不同的项目、不同的项目分支关联起来,通过 **计划开始日期** 、**计划截止日期** 设置 Issue 的生命周期,通过 **置顶选项** 、**优先级** 设置 Issue 的重要程度。 - - - - -### 相关链接 - -* [目录](readme.md) -* 下一章: [六、通过 Fork 参与项目](06.md) -* 上一章: [四、如何下载项目资源?](04.md) - +## 五、通过 Issue 交流、完善项目 +------ + +### 1. 什么是 Issue ? + +Issue 这个英文单词百度翻译:当它作为名词使用时的意思是:**重要议题;争论的问题**([单击此处](https://fanyi.baidu.com/?aldtype=85#en/zh/issues)打开相应的百度翻译网页)。 + +在 GitHub 、码云这类网站中,每个项目创建以后,在项目网页中都会自动建立一个如下图所示的 Issue 选项卡,中文可以称呼为 **问题单** 。 + +
+ +在码云网站上,可以通过 Issue 进行交流,向项目拥有者提交自己发现的 BUG ;也可以就项目中自己不清楚的地方提出问题、针对别人提出的问题进行讨论;甚至项目拥有者还可以通过 Issue 事先列出项目后续的进展、向其它项目开发者分配任务。 + +下文将着重介绍作为一个对项目感兴趣的码云网站用户,如何通过 Issue 交流项目相关的问题,协助完善项目。 + + + +### 2. 认识 Issue 选项卡 + +单击进入搜索到的项目网页,默认显示的是 **代码** 选项卡,单击该选项卡右边的 **Issue** 就可以进入 **Issue** 选项卡,如下图所示就是一个已经有一个处于 **开启的** 状态的 Issue 选项卡。 + +
+ +* Issue 选项卡最上面是工具栏。 + * 左边是三个子选项卡,分别是 **列表** 、**看板** 、 **里程碑** 。默认进入的是 **列表** 子选项卡,在这个网页的下方显示的都是与这个项目有关的 Issue 。至于另两个子选项卡,相关的概念在文档最后概要解释。 + + * Issue 选项卡最上面一行右边是非常醒目的 **新建 Issue** 按钮,单击能够新建 Issue 。具体在下文详细介绍。 + +* Issue 选项卡工具栏下方是 Issue 搜索区域,当 Issue 比较多时,通过选择合理的搜索方式,能够快速找到自己想要关注的 Issue 。网站提供以下两种方式搜索: + + * 一是在搜索框中输入关键词搜索。默认是在 **开启的** 范围内搜索;也可以取消这个选项,对搜索范围不作限制或者添加自己需要的范围。这种搜索方式适合于 Issue 非常多的情况下,可以在海量的 Issue 中找到符合自己需要的。 + + * 二是通过 Issue 状态搜索。默认也是 **开启的** ,除此之外还可以选择 **所有** 、**进行中** 、**已完成** 、**已拒绝** 等状态的 Issue 。这种搜索方式比较适用于 Issue 不多的情况下,通过不同搜索范围的选择,快速找到自己所需要的 Issue 。 + +* Issue 选项卡下方是 Issue 列表,显示符合搜索条件的 Issue 。每条 Issue 包括标题以及相关的其它信息,单击标题可以显示这条 Issue 的具体内容网页,详细介绍见后文。 + + + +### 3. 新建 Issue + +要新建 Issue ,首先必须确保已经登录 **码云** 网站;然后根据上文介绍的方法,找到需要新建 Issue 的项目,并且进入该项目的 Issue 选项卡;最后单击 Issue 选项卡右上角的 **新建 Issue** 按钮,就可以打开如下图所示的 **新建 Issue** 网页: + +
+ +* 在 **新建 Issue** 网页中,首先在最上面的文本框中输入这个 Issue 的标题。为了便于他人了解 Issue 主要内容,标题要简明扼要、意思表达清晰。在输入标题的过程中,如果有关键词已经在其它 Issue 中提及,就会在文本框的下方显示相应的提示内容。请务必确认该提示的信息是否与想要新建的 Issue 冲突,如果没有冲突,说的是两回事,可以不去管它;如果自己想要讨论的问题已经有人发表过了,那就不要再重复新建。 + +* 在 **文本编辑** 区域输入 Issue 的具体内容,详细说明自己想要交流的问题。在输入的时候,可以充分利用 **文本编辑** 区域上方工具栏中的各种按钮,格式化文本内容,使得文本表达更加清楚。详细的使用方法和技巧将在后文详细介绍。 + +* 最后单击 **创建** 按钮新建这个 Issue ,创建成功后会显示这个 Issue 的内容网页。 + + + +### 4. 在 Issue 中交流 + +根据上文的步骤新建了一条 Issue ,或者根据搜索找到的 **列表** ,单击其中感兴趣 Issue 的标题,都会打开如下图所示的 Issue 内容网页: + +
+ +对于普通用户来说, Issue 内容网页分为以下几部分: + +* 最上方是 **标题** 区域。如果是这个 Issue 的发布者或者拥有相应权限的用户,那么标题的右边会有一个醒目的 **编辑** 按钮,单击可以对 Issue 内容重新编辑修改。 + +* 标题下方是一些与当前 Issue 相关的信息,从左向右依次为: + + * Issue 的编号。单击编号可以复制,方便在其它 Issue 中引用。 + + * Issue 的的状态。新建 Issue 默认是 **待办的** 状态, Issue 的发布者或者拥有相应权限的用户可以按下文介绍的方法改变状态。 + + * Issue 的创建者账号。单击可以打开该用户的 **个人主页** ,查看详细个人信息。 + * Issue 的创建时间。 + +* 在 Issue 的标题和相关信息下方由三部分内容组成: + + * 左上方是 Issue 的具体内容。 + + * Issue 内容的下方是 Issue 的参与情况。默认显示最近一条记录,单击右边的 **展开详细操作日志** 文字链接,可以查看所有操作。 + + * 左边的最下方是 **评论** 区域。也是一个文本编辑区域,可以针对这条 Issue 发表自己的意见、建议。如果没有看到这个文本编辑区域,那么说明还没有登录网站,要先登录才可以发表评论。 + + * 右边是与这个 Issue 相关的协作状态区域。如果是一般用户,只能浏览、查看相关信息;如果是 Issue 的发布者,那么可以在区域上方修改 +Issue 的 **当前状态** ,也可以单击区域下方的 **删除** 按钮,选择删除这个 Issue ;如果是项目创建者或者拥有相应权限用户,除了可以改变状态、删除 Issue ,还可以设置其它选项,围绕这个 Issue 进行协作、交流。 + + + +### 5. Issue 的状态设置 + +每个 Issue 都有 **状态** 这种属性, Issue 新建完成后默认是 **待办的** 状态。 + +**状态** 一共有四种:除了默认 **待办的** ,还有 **进行中** 、**已完成** 、**已拒绝** 。 + + Issue 创建者或者拥有项目相应权限的用户可以在上文所介绍的 **Issue 内容网页** 的 **协作状态** 区域设置 **当前状态** 。 + +如果一个项目的 Issue 比较多,可以在 **Issue** 选项卡的 **看板** 子选项卡中查看,如下图所示: + +
+ +通过不同的 **状态** 筛选自己感兴趣的 Issue 。 + + + +### 6. 关于负责人、标签、里程碑的简要介绍 + + Issue 的功能非常强大,除了提交问题、基于问题进行讨论交流之外,还可以进行项目的协作开发。 + +要进行协作,需要项目的发布者或者拥有相应权限的用户,在上文所介绍的 **Issue 内容网页** 的 **协作状态** 区域灵活设置 **负责人** 、**标签** 、**里程碑** 等选项。下面对这些概念做个简要介绍: + +* 负责人:英文 Assignees ,也可翻译为 **责任人** ,一个负责解决这个 Issue 的人,每个 Issue 都可以有一个负责人。 + +* 标签:英文 Labels ,每个 Issue 可以包含任意数量的标签,通过 **标签** 可以把不同的 Issue 有效组织起来,也可以在搜索 Issue 的时候通过 **标签** 快速找到需要的 Issue 。 + +* 里程碑:英文 Milestones ,是对应于项目、功能或时间段的问题组。灵活使用它可以协调项目参与者的进度,提醒项目参与者应该如何完成、应该做哪些工作。具体的 **里程碑** 可以在 **Issue** 选项卡的 **里程碑** 子选项卡中设置。 + +除此之外,还可以通过 **关联项目** 、**关联分支** 将不同的项目、不同的项目分支关联起来,通过 **计划开始日期** 、**计划截止日期** 设置 Issue 的生命周期,通过 **置顶选项** 、**优先级** 设置 Issue 的重要程度。 + + + + +### 相关链接 + +* [目录](readme.md) +* 下一章: [六、通过 Fork 参与项目](06.md) +* 上一章: [四、如何下载项目资源?](04.md) + diff --git a/06.md b/06.md index c9c07d7c11998690fc4db2a379f8cfccafaba18d..315cb41c2dc884c23d9bfa36361f144b9ab8c12b 100644 --- a/06.md +++ b/06.md @@ -1,113 +1,128 @@ -## 六、通过 Fork 参与项目完善 ------- - -### 1. 什么是 Fork ? - -Fork 英文原意是 **叉子**([单击此处](https://fanyi.baidu.com/?aldtype=85#en/zh/Fork)打开相应的百度翻译网页),可以音译为 **复刻** ,在 Git 中可以意译为 **分叉** 。 - -除了 Fork ,我们下文还会使用到一个 Git 术语: Pull Requests ,在这里 pull 是动词 **拉、拖** 的意思, requests 是名词 **需要、请求** 的意思;因此在 Git 中可以意译为: **请求合并** 。 - -在码云网站中,可以通过 Fork 将别人的项目复制到自己的账号上来;然后对复制的项目内容进行修订————修改别人项目文件中的错误、优化别人项目中的内容;完成这些修订内容并确认正确后,向项目拥有者提交 Pull Requests ,请求将自己的修订内容合并原有的项目中去;项目拥有者根据提交的 Pull Requests ,决定是否合并提交的修订内容到项目中去。 - -由于本文目标读者不是专业程序员,因此以上流程不是通过输入各种 Git 代码完成的,而是直接通过码云网站的网页参与项目的完善。 - - - -### 2. Fork 指定项目仓库 - -要参与项目的完善,首先需要按照前面文章的方法,搜索并打开这个项目网页,如下图所示就是本文接下来要 Fork 的 **项目网页** : - -![项目网页](https://images.gitee.com/uploads/images/2020/0214/165556_c47017a2_5279685.png "6-1.png") - -(1) 请注意 **项目网页** 的左上角,目前是这个项目创建者(组织)的账号名以及这个项目的名称,后期在 Fork 、 Pull Requests 的时候务必要清楚当前项目到底是自己账号下的,还是创建者账号下的。 - -(2) 确认要 Fork 打开这个项目,只要单击 **项目网页** 右上角的 **Fork** 按钮,就会打开如下图所示的网页: - -![Fork仓库网页](https://images.gitee.com/uploads/images/2020/0214/170401_51bb6eb5_5279685.png "6-2.png") - -* 在 **Fork仓库** 网页中,首先单击选中 Fork 到哪里,一般就是网页中间显示的自己账号头像。 -* 最后单击 **确认** 按钮。 - -选择完 Fork仓库 以后,网站会提示:**当前仓库正在后台处理中,完成后将自动刷新页面** 。 - -如果项目文件不多的话,稍等片刻就会显示如下图所示 Fork 完成后的 **项目网页** : - -![Fork完成后的项目网页](https://images.gitee.com/uploads/images/2020/0214/171429_090cb014_5279685.png "6-3.png") - -同样请注意观察 Fork 完成后的这个 **项目网页** 的左上角: -* 显示的是当前登录用户的账号(也就是你自己的账号),而不是原来项目创建者的账号名;账号左边的图标也变成了类似 **叉子** 样的,表明这个项目是 Fork 得到的。 -* 项目名称 Fork 完成后没有变化。 -* 右上角 **Fork** 按钮右边的数字在原来的基础上增加了 **1** ,单击这个数字可以在新打开的网页中查看 Fork 这个项目用户的列表。 - - - -### 3. 修改、完善 Fork 项目仓库中的文件 - - Fork 指定项目仓库与在计算机上复制文件夹类似,也是得到了一个与原始项目完全相同的项目仓库副本,无非这个仓库是保存在码云网站自己账号空间里的。 - -对于 Fork 的项目仓库文件,可以根据自己意愿,在默认显示的 **项目** 网页的 **代码** 选项卡中(如下图所示),随意添加、删除文件,修改文件内容,也就是说拥有完全的管理权限: - -![](https://images.gitee.com/uploads/images/2020/0216/101312_d41f903e_5279685.png "6-4.png") - -* 单击 **文件** 按钮,在下拉列表菜单中可以 **新建文件** 、 **新建文件夹** ,还可以 **上传文件** ,将本地文件上传到项目仓库中。 -* 右键单击列表区的文件名,可以打开该文件的 **右键菜单** ,对这个文件进行 **删除** 、 **重命名** 、 **复制** 或者在 **新标签打开** (也就是在新的浏览器标签页中显示这个文件内容)。 -* 左键单击列表区的文件名,则会显示这个文件的内容。在 [第四章 如何下载项目资源?](04.md) 中已有详细介绍,需要特别说明的是,如果打开的是文本格式的文件(比如扩展名为 .md 的 Markdown 文件),可以在 **预览区域** 右上角的菜单栏中找到 **编辑** 按钮(如下图所示),单击这个按钮会进入码云网站提供的 Markdown 编辑器窗口,对文件的文本内容进行编辑(关于码云网站 Markdown 编辑器的使用方法将在后面章节详细介绍)。 - -![输入图片说明](https://images.gitee.com/uploads/images/2020/0216/102848_8c59b7b8_5279685.png "6-5.png") - - - -### 4. 通过 Pull Requests 提交合并请求 - -通过以上步骤,修改的只是自己帐号下的项目仓库文件,而不是原始项目的仓库。也就是说,如果你没有原始项目的相应权限,是不能直接修改原始项目仓库文件的。 - -如果要将自己修改的文件上传到原始项目仓库,参与项目完善工作,在 Git 术语中称之为 **提交合并请求** ,需要通过 Pull Requests 进行操作,具体可以按以下步骤操作: - -(1) 确保已经对 Fork 的项目仓库文件做了必要的修改,并且确认没有错误。 - -(2) 单击 **项目** 网页的 **Pull Requests** 选项卡,打开如下图所示的 **Pull Requests** 选项卡网页,然后单击右上角的 **新建 Pull Requests** 按钮,在选项卡下方显示 **创建 Pull Requests** 网页。 - -![](https://images.gitee.com/uploads/images/2020/0216/112833_7734e430_5279685.png "6-6.png") - -(3) 在如下图所示的 **创建 Pull Requests** 网页中: -* 最上面是 **源分支** 和 **目标分支** ;前者是你自己修改过的项目仓库默认分支,一般默认是 **master** ,后者是你想合并的项目仓库默认分支,是由项目管理员设置的;具体的分支都可以在下拉列表中选择。 -* 在 **创建 Pull Requests** 标签文字右边是网站对这次合并的评估;如果是绿色的 **可自动合并** ,说明要提交的合并内容与项目仓库文件没有冲突,网站可以通过网页方式自动合并;如果不可以自动合并,那就需要使用 Git 命令行方式手工合并,具体的操作方式由于比较复杂,将另行撰写文章介绍。 -* 如果是 **可自动合并** 状态,可以在下方的文本框内输入这次合并的标题;在文本编辑区域输入对这次合并的详细说明;一般需要说明本次请求合并的文件与原仓库文件有什么区别?为什么要请求合并? -* 如果有必要,还可以在网页右边的 **协作选项** 区域选择需要的协作选项。 -* 最后单击右下角的 **创建** 按钮,提交本次合并请求,会自动打开这个 Pull Requests 的详细内容网页。 - -![](https://images.gitee.com/uploads/images/2020/0216/113752_82b5f5ff_5279685.png "6-7.png") - -(4) 在如下图所示自动打开的 **Pull Requests 内容** 网页中: -* 最上方是这个 Pull Requests 的基本信息。包括左边第一行的 Pull Requests 当前状态、自动编号和标题,第二行的 Pull Requests 分支信息,第三行的 Pull Requests 创建帐号及创建时间,以及最后一行的 Pull Requests 内容说明;右上角是四个工具按钮,可以对这个 Pull Requests 进行相应的操作。 -* 中间是这个 Pull Requests 的互动信息,可以详细了解 Pull Requests 提交及后续的讨论、交流过程。 -* 最下方有三个子选项卡,在 **评论** 子选项中可以提交对当前 Pull Requests 的讨论交流信息,在 **提交** 子选项卡中可以查看这个项目所有提交的合并请求,在 **文件** 子选项卡中可以查看所有发生了变化的项目文件。 - -![](https://images.gitee.com/uploads/images/2020/0216/120816_413c1966_5279685.png "6-8.png") - -> 在 以上第 3 步创建 Pull Requests 网页及第 4 步 Pull Requests 内容网页中,如果注意观察 **项目网页** 左上角的项目账号名称的话,可以发现显示的都是原始项目拥有者的帐号。这说明以上这两步操作都是在原始项目网页中进行的操作,而不是在自己帐号项目里操作。 - - - - -### 5. 等待项目拥有者同意合并 - -合并请求提交以后,是否同意合并是由项目拥有者决定的。 - -项目拥有者会接收到网站自动发送给他的 **通知** ,在他进入到如上图所示的 **Pull Requests 内容** 网页时,可以详细查看、审核 Pull Requests ,决定是否将提交的修订合并到项目仓库中去,还是需要做进一步的交流、讨论,或者干脆关闭这个 Pull Requests ,不合并提交的文件。 - -不管项目拥有者如何处理提交的 Pull Requests ,作为这个 Pull Requests 的提交者,都会通过网站的 **通知** 功能,第一时间收到相应的通知信息。当然也可以随时点击原始项目网页的 **Pull Requests** 选项卡,查看所提交 Pull Requests 的状态(如下图所示)。 - -![](https://images.gitee.com/uploads/images/2020/0216/124742_59d7c178_5279685.png "6-9.png") - -> 请特别注意:必须要进入原始项目仓库查看,而不是自己账号下的项目仓库。 - - - - -### 相关链接 - -* [目录](readme.md) -* 下一章: [七、其它](07.md) -* 上一章: [五、通过 Issue 交流](05.md) - +## 六、通过 Fork 参与项目完善 +------ + +### 1. 什么是 Fork ? + +Fork 英文原意是 **叉子** 单击此处 Scratch2 打开相应的百度翻译网页,可以音译为 **复刻** ,在 Git 中可以意译为 **分叉** 。 + + +除了 Fork ,我们下文还会使用到一个 Git 术语: Pull Requests ,在这里 pull 是动词 **拉、拖** 的意思, requests 是名词 **需要、请求** 的意思;因此在 Git 中可以意译为: **请求合并** 。 + +在码云网站中,可以通过 Fork 将别人的项目复制到自己的账号上来;然后对复制的项目内容进行修订————修改别人项目文件中的错误、优化别人项目中的内容;完成这些修订内容并确认正确后,向项目拥有者提交 Pull Requests ,请求将自己的修订内容合并原有的项目中去;项目拥有者根据提交的 Pull Requests ,决定是否合并提交的修订内容到项目中去。 + +由于本文目标读者不是专业程序员,因此以上流程不是通过输入各种 Git 代码完成的,而是直接通过码云网站的网页参与项目的完善。 + + + +### 2. Fork 指定项目仓库 + +要参与项目的完善,首先需要按照前面文章的方法,搜索并打开这个项目网页,如下图所示就是本文接下来要 Fork 的 **项目网页** : + +
+ +(1) 请注意 **项目网页** 的左上角,目前是这个项目创建者(组织)的账号名以及这个项目的名称,后期在 Fork 、 Pull Requests 的时候务必要清楚当前项目到底是自己账号下的,还是创建者账号下的。 + +(2) 确认要 Fork 打开这个项目,只要单击 **项目网页** 右上角的 **Fork** 按钮,就会打开如下图所示的网页: + +
+ +* 在 **Fork仓库** 网页中,首先单击选中 Fork 到哪里,一般就是网页中间显示的自己账号头像。 + +* 最后单击 **确认** 按钮。 + +选择完 Fork仓库 以后,网站会提示:**当前仓库正在后台处理中,完成后将自动刷新页面** 。 + +如果项目文件不多的话,稍等片刻就会显示如下图所示 Fork 完成后的 **项目网页** : + +
+ +同样请注意观察 Fork 完成后的这个 **项目网页** 的左上角: + +* 显示的是当前登录用户的账号(也就是你自己的账号),而不是原来项目创建者的账号名;账号左边的图标也变成了类似 **叉子** 样的,表明这个项目是 Fork 得到的。 + +* 项目名称 Fork 完成后没有变化。 + +* 右上角 **Fork** 按钮右边的数字在原来的基础上增加了 **1** ,单击这个数字可以在新打开的网页中查看 Fork 这个项目用户的列表。 + + + +### 3. 修改、完善 Fork 项目仓库中的文件 + + Fork 指定项目仓库与在计算机上复制文件夹类似,也是得到了一个与原始项目完全相同的项目仓库副本,无非这个仓库是保存在码云网站自己账号空间里的。 + +对于 Fork 的项目仓库文件,可以根据自己意愿,在默认显示的 **项目** 网页的 **代码** 选项卡中(如下图所示),随意添加、删除文件,修改文件内容,也就是说拥有完全的管理权限: + +
+ +* 单击 **文件** 按钮,在下拉列表菜单中可以 **新建文件** 、 **新建文件夹** ,还可以 **上传文件** ,将本地文件上传到项目仓库中。 + +* 右键单击列表区的文件名,可以打开该文件的 **右键菜单** ,对这个文件进行 **删除** 、 **重命名** 、 **复制** 或者在 **新标签打开** (也就是在新的浏览器标签页中显示这个文件内容)。 + +* 左键单击列表区的文件名,则会显示这个文件的内容。在 [第四章 如何下载项目资源?](04.md) 中已有详细介绍,需要特别说明的是,如果打开的是文本格式的文件(比如扩展名为 .md 的 Markdown 文件),可以在 **预览区域** 右上角的菜单栏中找到 **编辑** 按钮(如下图所示),单击这个按钮会进入码云网站提供的 Markdown 编辑器窗口,对文件的文本内容进行编辑(关于码云网站 Markdown 编辑器的使用方法将在后面章节详细介绍)。 + +
+ + + +### 4. 通过 Pull Requests 提交合并请求 + +通过以上步骤,修改的只是自己帐号下的项目仓库文件,而不是原始项目的仓库。也就是说,如果你没有原始项目的相应权限,是不能直接修改原始项目仓库文件的。 + +如果要将自己修改的文件上传到原始项目仓库,参与项目完善工作,在 Git 术语中称之为 **提交合并请求** ,需要通过 Pull Requests 进行操作,具体可以按以下步骤操作: + +(1) 确保已经对 Fork 的项目仓库文件做了必要的修改,并且确认没有错误。 + +(2) 单击 **项目** 网页的 **Pull Requests** 选项卡,打开如下图所示的 **Pull Requests** 选项卡网页,然后单击右上角的 **新建 Pull Requests** 按钮,在选项卡下方显示 **创建 Pull Requests** 网页。 + +
+ +(3) 在如下图所示的 **创建 Pull Requests** 网页中: + +* 最上面是 **源分支** 和 **目标分支** ;前者是你自己修改过的项目仓库默认分支,一般默认是 **master** ,后者是你想合并的项目仓库默认分支,是由项目管理员设置的;具体的分支都可以在下拉列表中选择。 + +* 在 **创建 Pull Requests** 标签文字右边是网站对这次合并的评估;如果是绿色的 **可自动合并** ,说明要提交的合并内容与项目仓库文件没有冲突,网站可以通过网页方式自动合并;如果不可以自动合并,那就需要使用 Git 命令行方式手工合并,具体的操作方式由于比较复杂,将另行撰写文章介绍。 + +* 如果是 **可自动合并** 状态,可以在下方的文本框内输入这次合并的标题;在文本编辑区域输入对这次合并的详细说明;一般需要说明本次请求合并的文件与原仓库文件有什么区别?为什么要请求合并? + +* 如果有必要,还可以在网页右边的 **协作选项** 区域选择需要的协作选项。 + +* 最后单击右下角的 **创建** 按钮,提交本次合并请求,会自动打开这个 Pull Requests 的详细内容网页。 + +
+ +(4) 在如下图所示自动打开的 **Pull Requests 内容** 网页中: + +* 最上方是这个 Pull Requests 的基本信息。包括左边第一行的 Pull Requests 当前状态、自动编号和标题,第二行的 Pull Requests 分支信息,第三行的 Pull Requests 创建帐号及创建时间,以及最后一行的 Pull Requests 内容说明;右上角是四个工具按钮,可以对这个 Pull Requests 进行相应的操作。 + +* 中间是这个 Pull Requests 的互动信息,可以详细了解 Pull Requests 提交及后续的讨论、交流过程。 + +* 最下方有三个子选项卡,在 **评论** 子选项中可以提交对当前 Pull Requests 的讨论交流信息,在 **提交** 子选项卡中可以查看这个项目所有提交的合并请求,在 **文件** 子选项卡中可以查看所有发生了变化的项目文件。 + +
+ +> 在 以上第 3 步创建 Pull Requests 网页及第 4 步 Pull Requests 内容网页中,如果注意观察 **项目网页** 左上角的项目账号名称的话,可以发现显示的都是原始项目拥有者的帐号。这说明以上这两步操作都是在原始项目网页中进行的操作,而不是在自己帐号项目里操作。 + + + + +### 5. 等待项目拥有者同意合并 + +合并请求提交以后,是否同意合并是由项目拥有者决定的。 + +项目拥有者会接收到网站自动发送给他的 **通知** ,在他进入到如上图所示的 **Pull Requests 内容** 网页时,可以详细查看、审核 Pull Requests ,决定是否将提交的修订合并到项目仓库中去,还是需要做进一步的交流、讨论,或者干脆关闭这个 Pull Requests ,不合并提交的文件。 + +不管项目拥有者如何处理提交的 Pull Requests ,作为这个 Pull Requests 的提交者,都会通过网站的 **通知** 功能,第一时间收到相应的通知信息。当然也可以随时点击原始项目网页的 **Pull Requests** 选项卡,查看所提交 Pull Requests 的状态(如下图所示)。 + +
+ +> 请特别注意:必须要进入原始项目仓库查看,而不是自己账号下的项目仓库。 + + + + +### 相关链接 + +* [目录](readme.md) +* 下一章: [七、为项目编写文本文档](07.md) +* 上一章: [五、通过 Issue 交流](05.md) + diff --git a/07.md b/07.md index fcc23431af160d1b29055f1900a66759c3fa67cc..f87607582544552dc222d72c525c40aa1fee0e74 100644 --- a/07.md +++ b/07.md @@ -4,19 +4,23 @@ ### 1. 什么是 README 文件 ? README 文件是让其他用户了解有关你的工作详情的一种快速简单的方式。 + 在项目中至少拥有一个 README 文档是一个好主意,因为这是许多人第一次发现你的项目时会首先阅读的内容。 -如果你需要挖掘项目更深层次的信息,可以用到Wiki。Wiki是一种在网络上开放且可供多人协同创作的超文本系统,Wiki站点可以有多人维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展与探讨。(关于码云网站wiki的使用方法将在后面章节详细介绍) +如果你需要挖掘项目更深层次的信息,可以用到 Wiki。Wiki 是一种在网络上开放且可供多人协同创作的超文本系统,Wiki 站点可以有多人维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展与探讨。(关于码云网站wiki的使用方法将在后面章节详细介绍) ### 2. 编辑 README 文档 当我们按照前面文章的方法,通过 Fork 得到了一个与原始项目完全相同的项目仓库副本,我们就拥有了完全的管理权限,可以随意添加、删除文件,修改文件内容。 鼠标左键单击 README.md 文档,在文档标题的右上角单击 **编辑** 按钮,如下图所示: -![编辑按钮](https://images.gitee.com/uploads/images/2020/0218/145829_ae58b13a_5678580.jpeg "Image 1.jpg") -> **注意:** 这里以编辑 README 文档为例,在实际使用中对于后缀为 **.md** 的文档均可以单击进行编辑、修改与完善,如下图所示: -> -![文档编辑](https://images.gitee.com/uploads/images/2020/0218/145849_6aa3486f_5678580.jpeg "Image 2.jpg") +
+ +**注意:** 这里以编辑 README 文档为例,在实际使用中对于后缀为 **.md** 的文档均可以单击进行编辑、修改与完善, + +如下图所示: + +
### 3. 格式化 README 文档 @@ -40,25 +44,35 @@ README 文档通常遵循一种格式,以便使开发人员可以立即定位 **Markdown** 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此我们通常采用它来写编写文档。 -Markdown 语法的目标是:成为一种适用于网络的书写语言。 因此,Markdown是兼容Html,HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。 +Markdown 语法的目标是:成为一种适用于网络的书写语言。 因此,Markdown 是兼容 HTML,HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。 + +关于Markdown的具体语法及原理,请查看 Markdown语法及原理从入门到高级 ,学习 Markdown 一文,了解与掌握有关如何修改文件中的文本内容。 + -关于Markdown的具体语法及原理,请查看 [Markdown语法及原理从入门到高级](https://blog.csdn.net/weixin_35073408/article/details/100586583?utm_source=app),学习 Markdown 一文,了解与掌握有关如何修改文件中的文本内容。 * 如果你是自己新建的文档,不要忘记给你的文档命名,一般文本文档命名。 -* 当然,你可以充分利用 **文档编辑的工具栏** ,就在正文上方,功能如我们平常使用的Word基本相同,具有 **粗体** 、 _斜体_ 、标题突出 +* 当然,你可以充分利用 **文档编辑的工具栏** ,就在正文上方,功能如我们平常使用的 Word 基本相同,具有 **粗体** 、 _斜体_ 、标题突出 、插入链接、插入图片、插入表情、插入列表(分为有序列表和无序列表)、插入表格、插入代码、引用的基本功能,如图所示: -![文档编辑的工具栏](https://images.gitee.com/uploads/images/2020/0218/145935_67a7aa6c_5678580.jpeg "Image 3.jpg") + +
### 4. 确定并提交文本文档 (1) 当我们用 Markdown 的语法编辑好文档以后,想要预览效果如何,可以从 _文档编辑的工具栏_ 中选择 **眼睛** 按钮,或者利用快捷键 **“ctrl+P”** 预览文本编辑效果。 + (2) 在确定好自己编写的文本文档以后,就需要进行提交的工作,在文档编辑框下方, + * **提交信息:** 在 Git 中,每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。这个操作将通过 git commit 完成。 + * **扩展信息:** 此处填写为什么修改,做了什么样的修改,以及开发者的思路等更详细的信息。 + * **目标分支:** 单击此处会出现下拉菜单,选择将文本提交至哪一个分支,如果没有新建分支的情况下,默认为 **master** 主分支。 -* **提交:** 单击提交按钮以后,你编辑好的文本文档就能够成功提交到fork过来的仓库中了! -如图所示: -![确定并提交文本文档](https://images.gitee.com/uploads/images/2020/0218/145949_89403312_5678580.jpeg "Image 4.jpg") + +* **提交:** 单击提交按钮以后,你编辑好的文本文档就能够成功提交到 fork 过来的仓库中了! + +如图所示: + +
### 5. 通过 Pull Request 提交合并请求 diff --git a/img/.keep b/img/.keep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/img/1-1.png b/img/1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..41555e3a24e9c359e07cdeda0fd508a5f240f1f5 Binary files /dev/null and b/img/1-1.png differ diff --git a/img/2-1-1.png b/img/2-1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..496fc31fbf6647855a225d88ab7938790f9ba02b Binary files /dev/null and b/img/2-1-1.png differ diff --git a/img/2-1-2.png b/img/2-1-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f54721c4ef1cd8e6a5d23554edf17a7c720a8b53 Binary files /dev/null and b/img/2-1-2.png differ diff --git a/img/2-2-1.png b/img/2-2-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0a0846ed873ed410a0f3f0d78a0f94e3f7e40abb Binary files /dev/null and b/img/2-2-1.png differ diff --git a/img/2-3.png b/img/2-3.png new file mode 100644 index 0000000000000000000000000000000000000000..2e89f857e7048d8e497b3f3187987921a0654794 Binary files /dev/null and b/img/2-3.png differ diff --git a/img/3-1.png b/img/3-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b907fef5bd3fb85d1baba9f78899cebafcace3d6 Binary files /dev/null and b/img/3-1.png differ diff --git a/img/3-2.png b/img/3-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d3be25fd13110de76e7fc99e9fa97fbf0edf2101 Binary files /dev/null and b/img/3-2.png differ diff --git a/img/4-1.png b/img/4-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5e531ea4444177f2938e807be7d5b4b935bba56c Binary files /dev/null and b/img/4-1.png differ diff --git a/img/4-2-1.png b/img/4-2-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2e179587dc9d4f372fc94450aee587744ebc3b6c Binary files /dev/null and b/img/4-2-1.png differ diff --git a/img/4-2-2.png b/img/4-2-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e4463f5a29a57744290c26a3ea85718b1e508555 Binary files /dev/null and b/img/4-2-2.png differ diff --git a/img/4-2-3.png b/img/4-2-3.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0c600f0b47662c00bf0e913bb00d006c3a73b4 Binary files /dev/null and b/img/4-2-3.png differ diff --git a/img/5-1.png b/img/5-1.png new file mode 100644 index 0000000000000000000000000000000000000000..74331ba100ee60282cd5b030163b2c5be69f4d29 Binary files /dev/null and b/img/5-1.png differ diff --git a/img/5-2.png b/img/5-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f784c1fb86363da65f5d5ff8d08bf67395cc87e7 Binary files /dev/null and b/img/5-2.png differ diff --git a/img/5-3.png b/img/5-3.png new file mode 100644 index 0000000000000000000000000000000000000000..6a60a0671dada0b23420788aeda0f9ee55bcbbd4 Binary files /dev/null and b/img/5-3.png differ diff --git a/img/5-4.png b/img/5-4.png new file mode 100644 index 0000000000000000000000000000000000000000..3e8bc0f17600318976dc963608417a1ce9fbb97a Binary files /dev/null and b/img/5-4.png differ diff --git a/img/5-5.png b/img/5-5.png new file mode 100644 index 0000000000000000000000000000000000000000..0bac71df0f139c4b64f0410386492b6cc9e91c51 Binary files /dev/null and b/img/5-5.png differ diff --git a/img/6-1-1.png b/img/6-1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ff0f34a3aa17b35b79cce67ed25e76fa81d1e75 Binary files /dev/null and b/img/6-1-1.png differ diff --git a/img/6-1-2.png b/img/6-1-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d9dc33c06423315b688ddd8ff47e9b7fe8edb1d0 Binary files /dev/null and b/img/6-1-2.png differ diff --git a/img/6-1-3.png b/img/6-1-3.png new file mode 100644 index 0000000000000000000000000000000000000000..4f54fe208d572cf816895a7a61e024805d034627 Binary files /dev/null and b/img/6-1-3.png differ diff --git a/img/6-3-1.png b/img/6-3-1.png new file mode 100644 index 0000000000000000000000000000000000000000..87fb57f8faff794bd7b585e5938153bbd6d798ef Binary files /dev/null and b/img/6-3-1.png differ diff --git a/img/6-3-2.png b/img/6-3-2.png new file mode 100644 index 0000000000000000000000000000000000000000..703719caf6c4a8c1d204577746b40c7550970d25 Binary files /dev/null and b/img/6-3-2.png differ diff --git a/img/6-4-1.png b/img/6-4-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7df92f6a776374058eacc8dc49308ba6282bfd6d Binary files /dev/null and b/img/6-4-1.png differ diff --git a/img/6-4-2.png b/img/6-4-2.png new file mode 100644 index 0000000000000000000000000000000000000000..882608acc6583df3652dafd305049fcdf4f3815a Binary files /dev/null and b/img/6-4-2.png differ diff --git a/img/6-4-3.png b/img/6-4-3.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3f3b323da16ca55b70cd208d0836c83657c6e2 Binary files /dev/null and b/img/6-4-3.png differ diff --git a/img/6-5.png b/img/6-5.png new file mode 100644 index 0000000000000000000000000000000000000000..60cfe06f7eec52c313091f7a7ddd775dda3e04fe Binary files /dev/null and b/img/6-5.png differ diff --git a/img/7-1-1.png b/img/7-1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c0064fe0004bd0b8d0024dc186eeaea1cff5e375 Binary files /dev/null and b/img/7-1-1.png differ diff --git a/img/7-1-2.png b/img/7-1-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6e9eb777efbe9f52b7b90d30a7fe463e0fc1116e Binary files /dev/null and b/img/7-1-2.png differ diff --git a/img/7-2.png b/img/7-2.png new file mode 100644 index 0000000000000000000000000000000000000000..cb69c3752565a5333d242bb1400c55de5d7679f8 Binary files /dev/null and b/img/7-2.png differ diff --git a/img/7-3.png b/img/7-3.png new file mode 100644 index 0000000000000000000000000000000000000000..cd5016153c435ccac88034c25b99b3a138b19522 Binary files /dev/null and b/img/7-3.png differ