# 水杉码园学生使用手册（精简版）

[toc]

## 一、前言

水杉码园是一个代码托管与协作平台，利用开源项目Gitea进行搭建，运行快速、使用体验良好，支持跨平台以及多种功能。

通过对开源平台Gitea的深度定制，让教育与项目协作相结合，更符合学校的教学场景，更有利于教师和学生的课外互动、学生与学生的作业协作；让教育与激励相结合，调动学生的参与热情，科学公正地评判平时成绩；让教育与数据相结合，从学生出发到学生中去，通过自有平台的数据采集与分析，重新审视现有的教育模式，更好地解决教育问题。

本文主要介绍水杉码园中的功能模块以及用可视化“按钮”的方式使用水杉码园，若需使用Git命令的方式完成水杉码园上的代码（资料）托管与协作请查看水杉码园学生使用手册（进阶版）。



## 二、水杉码园首页

1、访问http://gitea.shuishan.net.cn/，登录水杉码园。

​	也可以通过访问并登录水杉在线https://www.shuishan.net.cn/home的方式进入水杉码园模块。

2、登录后可以看到首页如下图所示。

① 单击首页右上角符号“+”处，在下拉菜单中可以完成“创建仓库”、“创建课程”等功能。

② 单击首页左上角用户名处的下拉菜单，可以查看参与的课程。进入课程首页的方式有如下两种：

- 通过在下拉菜单单击课程名，再单击页面右上角的“访问...”按钮进入相应课程的首页。
- 在平台首页单击页面右侧“课程”按钮（下图中③标记处），可以查看参与的课程列表，单击某一课程名，可进入该课程首页。

![image-20210228103618295](image/image-20210228103618295.png)

![image-20210228104401977](image/image-20210228104401977.png)

## 三、课程首页

课程首页的页面如下图所示，包括仓库、课程成员、课程团队、积分展示几个部分。

① 仓库

“AllStu”仓库是所有课程成员共享的仓库；

每个学生都可以看到有一个以自己用户名命名仓库；

②课程成员

课程成员模块可以查看参加该门课程的所有成员

③课程团队

基于课程成员间协作的需要，创建不同的课程团队，创建工作由课程管理员完成，团队在创建过程中由系统自动创建与团队名同名的仓库。如下图“AllStu”团队包含课程内的全部学生，“02”团队是当前用户参与的多人协作小组。

![image-20210228105515745](image/image-20210228105515745.png)



## 四、仓库使用

单击任一仓库名，进入该仓库，可以使用git完成对仓库的操作（在学生使用手册进阶版中详细说明），也可以使用可视化完成新建文件、新建文件夹、上传文件、删除文件夹等操作。

![image-20210222230558329](image/image-20210222230558329.png)

单击某一文件（如上图蓝色显示README.md处），进入该文件详情页，可以对文件进行文件下载、文件修改、文件删除等操作。

![image-20210222231337542](image/image-20210222231337542.png)

### 4.1 仓库种类

**1、个人仓库**

学生可以使用个人仓库进行代码托管或存放学习资料。

这里简单介绍一下代码托管仓库，仓库是用来存放代码的，由于使用了git进行版本管理，所以可以查看每次改动前后的历史版本。“代码”标签下是具体展示仓库源代码的地方，在“合并请求”中可以看到他人是如何修改你的代码，并且他想要合并到你的仓库中，你可以选择合并或者不合并。当你觉得你的代码已经逐渐成熟，你可以选择版本发布，让你的源代码成为给大家直接使用的软件。当你看到别人的仓库，觉得非常喜欢的时候，可以给他一个点赞，或者关注这份仓库。当然，也可以从这份仓库中派生一份自己的仓库。

在水杉码园首页单击右上角的符号“+”可以创建个人仓库，用于个人代码托管或学习资料存取。

![image-20210303141843073](image/image-20210303141843073.png)

**2、课程仓库**

课程仓库不需要学生创建，教师添加学生进入课程后，会自动创建。根据课程需要，课程中可能同时存在以下三种仓库：

- 个人作业仓库：学生个人维护，提交个人作业，个人作业仓库以登录用户名命名。
- 小组协作仓库：多人小组共同协作，提交小组作业。如下图小组仓库“02”对应课程团队中团队名为“02”的多人小组。
- 课程公共仓库：全体同学参与的公开仓库，一般用于教师分享课程资料，学生进行课程内讨论。一般以“ALLStu”命名。

在个人作业仓库和小组协作仓库中，分支具有了特殊的含义。本平台采用分支区分不同作业，即每个分支代表一次作业。

![image-20210303142403331](image/image-20210303142403331.png)

### 4.2 切换分支

在仓库页面点击“分支”，弹出下拉框，如图所示：

![img](image/L9WLR0I4wn14L9xP__thumbnail)

可以选择已有的分支进行切换，也可以输入新的分支名，创建新分支

![img](image/7rtPqRC0CcRk6t64__thumbnail)



### 4.3 上传代码与资料

选择需要上传代码的分支，在仓库页面点击“上传文件”按钮，选择想要上传的代码库或者学习资料后确定上传。

![img](image/hxjmGIjPT3WSFCeZ__thumbnail)注意：作业提交必须按教师要求将作业上传到指定的仓库和分支。

![image-20210303143530194](image/image-20210303143530194.png)

### 4.4 关注、点赞、派生

在码园中，会有许许多多的同学将自己的项目托管在这里，你可以点击顶部导航栏中的“探索”，去发现是否有你喜欢的项目。现在我们以某一个仓库为例，介绍一下关注、点赞和派生操作。

下图是一个仓库的展示页面。

![img](image/n2hE2jnOLAOhfUDp__thumbnail) 在上方可以看到有三个按钮，分别是关注、点赞和派生，并且会在按钮旁展示对应的人数。

- 如果你喜欢这个项目，可以点击“点赞”按钮，为该项目增加一颗星星。
- 如果你想关注这个仓库今后的发展，你可以点击“关注”按钮，这样当该仓库发送版本更新等变动时，你能收到来自水杉码园的邮件提醒。
- “派生”按钮，用来复制他人的仓库成为你的仓库。有的时候，你不仅仅想关注这个项目，可能还想自己参与其中的开发。派生操作使得你可以在自己的仓库中对代码做出贡献，当你准备好的时候，还可以发出合并请求将你的更改贡献给上游仓库（被派生仓库）。

### 4.5 仓库话题

话题是协作中进行问题讨论的地方。

选择话题标签，就能看到当前仓库的话题情况。

![image-20210303140650973](image/image-20210303140650973.png)单击“创建话题”按钮，输入标题和内容即可创建新的话题。

多人协作时，@你的小伙伴，就可以提醒他来和你讨论问题。

在课程公共仓库的话题中，你还可以提出课程意见、吐槽平台建设等。
