Skip to content

Commit

Permalink
doc: Update code hosting platform documentation, add registration pro…
Browse files Browse the repository at this point in the history
…cess and feature overview,
  • Loading branch information
ywh555hhh authored and Plucky923 committed Feb 10, 2025
1 parent cc00e17 commit c8e2f1a
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 31 deletions.
Binary file added docs/assets/Dashborad.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/repo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 29 additions & 30 deletions docs/ch5/sec1/subsec2/code-hosting-platforms.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# 代码托管平台简介

> 本课程旨在让学生了解如何使用代码托管平台(如 GitHub、Gitee 等)进行代码管理与协作,掌握平台的基本功能和常用操作。
> 本子节旨在让学生了解如何使用代码托管平台(如 GitHub、Gitee 等)进行代码管理与协作,掌握平台的基本功能和常用操作。
---

## 什么是代码托管平台

代码托管平台是一种基于云服务的开发协作工具,主要用于存储、管理和协同开发代码项目。它通过集成版本控制系统(如 Git)、协作工具和自动化流程,为开发者提供全生命周期的代码管理支持,是现代软件开发和开源生态的核心基础设施。

???+ tip "类比理解--就像游戏云存档"
???+ node "类比理解--就像游戏云存档"
代码托管平台就像游戏的**云存档**功能。想象一下,你在玩游戏时,可以把游戏进度保存在本地(本地存档),但如果电脑坏了或者存档丢了,你的努力就白费了。而代码托管平台就像游戏的**云存档**,它把你的代码上传到云端服务器,即使你的电脑坏了,代码也不会丢失,随时可以从云端恢复。

在游戏中,你可以创建多个**存档点**,比如在打Boss之前存个档,如果失败了可以重新读档。代码托管平台也有类似的功能,叫做**版本控制**。每次你修改代码,都可以创建一个“存档点”(提交记录)。如果改错了,可以轻松回到之前的版本,就像读档一样。
Expand All @@ -23,9 +23,11 @@

## 平台基本功能与操作

### 浏览与搜索仓库
### 仓库以及其浏览与搜索

仓库就是repo就是一个具体的文件夹,你可以理解成,里面是你真个项目的所有内容,代码啊,素材啊,readme,之类的啊,而在代码托管平台,代码都是以仓库的形式组织起来的,一个仓库属于一个用户或者一个组织。
#### 什么是仓库

仓库(Repo)就像是一个项目的文件夹,里面包含了整个项目的所有内容,比如代码、素材、README 文档等。在代码托管平台上,代码都是以仓库的形式组织起来的。你可以把仓库想象成一个图书馆的书架,每个书架上都有不同的书(项目),而每本书里都包含了详细的内容(代码、文件等)。代码托管平台就像是一个云图书馆,任何人都可以在这里浏览、借阅,甚至贡献自己的书籍(代码)。仓库就是这个图书馆的基本单位,每个仓库属于一个用户或组织,是代码托管平台上代码的基本组织形式。

#### 浏览仓库

Expand All @@ -43,62 +45,59 @@
2. **使用过滤器**:为了缩小搜索范围,你可以使用过滤器,比如按语言、星标数、更新时间等进行筛选。
3. **查看搜索结果**:点击搜索结果中的仓库名称,进入仓库详情页面,查看详细信息。

### 常见术语
### 其他常见术语

???+ tip "小提示"
这些内容在本课程后续会有更详细的讲解,目前只需要熟悉基本概念即可。其实,你可以把代码托管平台类比为微博、虎扑、贴吧、小红书或 Steam 这样的平台,只不过上面分享和讨论的内容是代码。其中很多概念都是相通的。

#### 1. **复制仓库(Fork)**

- **是什么**:将别人的仓库复制到自己的账户下。
- **为什么重要**:让你可以自由修改代码,并为原项目贡献改进
- **使用场景**:参与开源项目、实验性修改。
- **是什么**:将别人的仓库复制到自己的账户下,就像你在微博上“转发”一条动态到自己的主页一样
- **为什么重要**:让你可以自由修改代码,就像你可以在转发的内容上加自己的评论或修改。同时,你还可以将改进贡献回原项目
- **使用场景**:参与开源项目、实验性修改,就像你看到一篇有趣的文章,想自己试试修改后再分享给别人

---

#### 2. **点赞/收藏(Star)**

- **是什么**:对仓库点赞,表示支持或收藏。
- **为什么重要**:方便你快速找到喜欢的项目,同时也是对开发者的鼓励。
- **使用场景**:收藏优质项目、支持开发者。
- **是什么**:对仓库点赞,表示支持或收藏,就像你在小红书或微博上给喜欢的帖子点个赞或收藏起来
- **为什么重要**:方便你快速找到喜欢的项目,同时也是对开发者的鼓励,就像你收藏了一篇好文章,以后可以随时翻出来看
- **使用场景**:收藏优质项目、支持开发者,比如你看到一个很棒的工具库,点个 Star 表示支持

---

#### 3. **关注仓库(Watch)**

- **是什么**:关注仓库,接收更新通知。
- **为什么重要**:让你随时了解项目的动态,比如新功能发布或 Bug 修复。
- **使用场景**:跟踪感兴趣的项目、参与社区讨论。
- **是什么**:关注仓库,接收更新通知,就像你在虎扑或贴吧上关注一个话题,每次有新回复都会提醒你
- **为什么重要**:让你随时了解项目的动态,比如新功能发布或 Bug 修复,就像你关注的博主发了新内容,你会第一时间知道
- **使用场景**:跟踪感兴趣的项目、参与社区讨论,比如你关注了一个开源项目,想随时了解它的进展

---

#### 4. **问题跟踪(Issues)**

- **是什么**:用于报告 Bug、提出新功能或讨论任务。
- **为什么重要**:是项目管理和协作的核心工具,帮助开发者沟通和解决问题。
- **使用场景**:报告问题、提出改进建议、讨论技术细节。
- **是什么**:用于报告 Bug、提出新功能或讨论任务,就像你在 Steam 社区或贴吧里发帖提问或反馈问题
- **为什么重要**:是项目管理和协作的核心工具,帮助开发者沟通和解决问题,就像你在论坛上发帖后,其他人可以回复并提供解决方案
- **使用场景**:报告问题、提出改进建议、讨论技术细节,比如你发现了一个 Bug,可以在 Issues 里提出来

---

#### 5. **代码合并请求(Pull Request/Merge Request)**

- **是什么**:请求将你的代码修改合并到原项目。
- **为什么重要**:是开源贡献的核心方式,让开发者可以协作改进代码。
- **使用场景**:提交代码改进、修复 Bug、添加新功能。
- **是什么**:请求将你的代码修改合并到原项目,就像你在贴吧或论坛上写了一篇长文,希望版主把它加进精华帖里
- **为什么重要**:是开源贡献的核心方式,让开发者可以协作改进代码,就像你写了一篇好文章,希望更多人看到并认可
- **使用场景**:提交代码改进、修复 Bug、添加新功能,比如你修复了一个问题,可以提交 Pull Request 让原作者合并你的修改

---

#### 6. **自动化工作流(CI/CD)**

- **是什么**:自动化测试、构建和部署的工具。
- **为什么重要**:提升开发效率,确保代码质量。
- **使用场景**:自动化测试、持续集成/持续交付。
- **是什么**:自动化测试、构建和部署的工具,就像你在 Steam 上设置了自动更新游戏,每次有新版本都会自动下载安装
- **为什么重要**:提升开发效率,确保代码质量,就像你设置了自动回复,不用每次手动处理重复的事情
- **使用场景**:自动化测试、持续集成/持续交付,比如每次提交代码后,自动运行测试并发布新版本

---

#### 7. **静态网站托管(Static Site Hosting)**

- **是什么**:免费托管静态网站的服务。
- **为什么重要**:让项目文档或个人博客可以快速上线。
- **使用场景**:展示项目文档、搭建个人博客、发布项目主页。

## 常用代码托管平台

| **平台** | **核心特点** | **适用场景** |
Expand All @@ -124,6 +123,6 @@
!!! summary "学习目标"
- 了解常见的代码托管平台(如 GitHub、Gitee 等)及其基本功能。
- 学会在浏览器中浏览和搜索仓库。
- 掌握平台的主要概念,如 Fork、Star、Watch 等。
- 掌握平台的基本概念,如 Fork、Star、Watch 等。

这些技能将为后续的代码开发、团队协作和开源贡献打下坚实的基础。
61 changes: 61 additions & 0 deletions docs/ch5/sec1/subsec3/practice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# 实践:注册并熟悉代码托管平台 (易炜涵)

## 目的

学生注册代码托管平台账户并熟悉其功能。

## 内容

- 注册 GitHub、Gitee 等平台的账号。
- 了解平台的主要功能界面,并做出一些常识。

## 步骤

### 1. 注册账号

1. **访问平台网站**
- GitHub: [https://github.com](https://github.com)
- Gitee: [https://gitee.com](https://gitee.com)
2. **创建账户**
- 点击“Sign up”或“注册”按钮,按照提示填写信息完成注册。

??? tip "注册之后可以做的事"
完成 GitHub 注册后,可以做这些事:
1. **安全**:启用两步验证(2FA),绑定备用邮箱,生成 SSH 密钥;
2. **个人品牌**:设置简短易记的 ID、自己喜欢头像、技术向简介(Bio);
3. **主页优化**:创建同名仓库写 Profile README(技术栈/项目展示),Pin 6个优质仓库;
4. **学生福利**:认证 GitHub Student Pack 免费解锁 Pro 功能;

意义:提升账户安全,建立专业形象,增加曝光机会,融入开发者社区,为求职或协作积累信用资产。

### 2. 熟悉 github 平台功能

#### Dashboard 页面

注册之后登录首先看到的应该是你的 Dashboard 界面,就像下图这样,不过你的可能比较空白(😁)

![Dashboard](../../../assets/Dashborad.png)

图 1. Dashboard
{: .caption }

???+ node "Dashboard的介绍"
GitHub Dashboard 是用户登录后的主工作界面,集中显示关注仓库的动态更新、推荐项目、待处理通知(Issues/PR)、近期代码提交记录,以及个人仓库列表和团队动态,支持快速跳转到代码审查、仓库管理等功能模块。

#### repository 页面

注册之后就可以做一些操作了,比如说收藏一个仓库,就是给这个仓库一颗⭐️,可以点击[这里](https://github.com/hust-open-atom-club/intro2oss)去送出你的第一颗⭐️

![repository](../../../assets/repo.png)
图 2. Repository
{: .caption }

???+ node "repository的介绍"
在 GitHub 仓库页面中,您会看到代码文件列表、README 文件、顶部导航栏(包括 Issues、Pull Requests、Actions、Projects、Wiki)、右侧功能栏(About、Releases、Packages、Contributors),以及 Issue 页面的左侧栏(Assignees、Labels、Projects、Milestone、Development)。此外,还有 Star、Fork、Watch、Code 等功能。建议从 README 文件开始,逐步熟悉 Issues 和 Pull Requests 等协作功能。

## 总结

!!! summary "学习目标"
- 掌握代码托管平台(如 GitHub、Gitee)的注册与基本操作流程
- 熟悉 GitHub 的核心功能界面,包括 Dashboard、Repository
- 尝试使用 Star、Fork、Watch 等功能参与开源项目
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ markdown_extensions:
- md_in_html
- pymdownx.details
- pymdownx.tabbed
- pymdownx.extra
- pymdownx.inlinehilite
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
Expand Down
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
mkdocs
mkdocs-material
mkdocs-material
pymdown-extensions

0 comments on commit c8e2f1a

Please sign in to comment.