# 水杉码园教师使用手册(详细版) [toc] ## 一、课程管理 ### 1.1 课程创建 课程创建前需要登录教师账号,URL:http://gitea.shuishan.net.cn/ 在首页中选择创建课程,单击左上角头像处,在下拉菜单中选择“ + 创建课程”进行课程创建。 ![image-20210222200528159](image/image-20210222200528159.png) 页面跳转至“创建课程页”,按提示填写相关信息,单击“创建课程”完成课程创建。 ![image-20210222201403202](image/image-20210222201403202.png) ![image-20210222201434428](image/image-20210222201434428.png) 单击右上角的“访问课程”按钮进入课程主页。 ![image-20210222201912579](image/image-20210222201912579.png) 也可以通过首页右侧的课程模块访问相关课程。 ![image-20210222202408124](image/image-20210222202408124.png) ![](image/image-20210222202150492.png) ![image-20210222202457727](image/image-20210222202457727.png) ### 1.2 成员管理 课程成员包括课程教师、助教、全体选课学生。 #### 1.2.1 逐个添加学生 在课程首页单击“添加学生”按钮,在搜索框中输入学生相关信息(学号或姓名)找到该学生,单击“添加团队成员”完成单个学生的添加 ![image-20210222202840044](image/image-20210222202840044.png) #### 1.2.2 批量导入学生 单击课程首页的“导入学生”按钮,进入学生批量导入的页面。 ![image-20210222204107339](image/image-20210222204107339.png) 课程学生以excel表的方式进行导入,excel表格有固定的格式,excel表格模板可以单击“模板下载”按钮下载查看。 单击“选择文件”上传学生信息的excel表格,单击“导入学生”。 ![image-20210222221912069](image/image-20210222221912069.png) 导入学生信息的处理时间较长,教师可选择等待,也可以选择返回课程首页,系统后台依然会进行导入学生的操作。 导入学生成功后会显示成功导入学生的信息。 ![image-20210222205319297](image/image-20210222205319297.png) 由于学生未在系统中注册等原因,部分学生可能会导入失败,教师可在课程首页单击“管理成员”,详细核对课程中已经导入的学生信息。 ![image-20210222205810783](image/image-20210222205810783.png) #### 1.2.3 助教 在课程首页的右侧有课程团队模块(课程团队相关概念及操作在1.3节中进行详细说明),单击"Owners",进入“Owners”团队管理页,在搜索框中搜索助教人员相关信息,单击“添加团队成员”即可完成助教添加。助教在本课程中拥有和教师相同的操作权限。 ![image-20210222210440745](image/image-20210222210440745.png) ![image-20210222212344881](image/image-20210222212344881.png) 在上述页面中,单击“移除成员”可以移除相关助教。 ![image-20210222212526751](image/image-20210222212526751.png) #### 1.2.4 课程成员移除 随着课程的进行,一些课程成员可能会离开课程。 在课程首页单击“管理成员”,页面跳转后在左侧可勾选需要删除的课程成员,单击右上角的“批量移除成员”按钮可以移除选中的课程成员。 ![image-20210222213452723](image/image-20210222213452723.png) ![image-20210222213911339](image/image-20210222213911339.png) ### 1.3 团队管理 在课程首页的右侧有课程团队模块,“Owners”团队为课程创建完成后系统自动创建的团队,“Owners”团队中的成员包括课程教师和助教,对课程拥有管理员权限,“ALLStu”团队为系统导入学生后自动创建的团队,“ALLStu”团队中的成员包括所有学生,对系统创建的“ALLStu”仓库中的内容具有读权限(仓库相关内容将在“二 仓库”章节中详细说明)。 鉴于课程教学过程中分组合作的需要,系统中可以通过新建团队的方式将指定的数个课程成员组合在一起。 ![image-20210222214438673](image/image-20210222214438673.png) #### 1.3.1 新建团队 单击课程首页“管理团队”,页面跳转后单击右上角“新建团队”,按提示完成相关信息填写后完成团队创建。 ![image-20210222220608998](image/image-20210222220608998.png) ![image-20210222220702532](image/image-20210222220702532.png) ![image-20210222220825153](image/image-20210222220825153.png) 在团队管理页中可以搜索相关成员信息并单击“添加团队成员”将其加入团队,若需将自己加入该团队,可以单击左侧“加入团队”的蓝色按钮。 ![image-20210222221232318](image/image-20210222221232318.png) #### 1.3.2 批量新建团队 课程首页单击“管理团队”,页面跳转后单击右上角的“新建多团队”。 ![image-20210222221645270](image/image-20210222221645270.png) 新建多团队以excel表格的形式导入团队信息,单击“模板下载”可以下载多团队信息填写的模板excel,按要求完成相关信息的填写,单击“选择文件”上传excel,单击“创建团队”,完成多团队的创建。 ![image-20210222222715412](image/image-20210222222715412.png) ![image-20210222223722309](image/image-20210222223722309.png) 单击“创建团队”后,多团队的创建过程可能较慢,可以单击“立即返回课程首页”,系统后台会完成多团队创建的相关工作。 ![image-20210222223007150](image/image-20210222223007150.png) ### 1.4 课程设置 在课程首页单击“课程管理”,页面跳转后可以对课程的相关详细进行更新。 ![image-20210222223826154](image/image-20210222223826154.png) ![image-20210222223957274](image/image-20210222223957274.png) ### 1.5 课程删除 在课程首页单击“课程管理”,页面跳转后单击左侧导航栏中的“删除课程”,可以进行课程删除操作。 ![image-20210222223826154](image/image-20210222223826154.png) ![image-20210222224202010](image/image-20210222224202010.png) ### 1.6 课程资料上传 在上传课程资料前必须先批量导入学生(参考1.2.2节说明),导入学生后系统自动创建“AllStu”仓库。 资料上传使用“AllStu”仓库,该仓库对所有课程成员可见,对非课程成员不可见。 ![image-20210306165347613](image/image-20210306165347613.png) 单击“AllStu”进入该仓库,可以通过新建文件夹、上传文件等功能上传课程资料。其中,上传文件功能可以同时上传多个文件。 ![image-20210306170828282](image/image-20210306170828282.png) 仓库中有“话题”功能,教师可以通过“创建话题”的方式对上传资料进行说明,也可以通过“创建话题”的方式发布通知、作业等。 ## 二、仓库管理 在课程首页的左下位置展示了课程相关的全部仓库,每个课程成员在导入时默认创建以该成员用户名命名的仓库,课程团队在创建也默认创建以团队名命名的仓库,课程中还可以根据需要创建仓库。 ![image-20210222224440697](image/image-20210222224440697.png) ### 2.1 仓库创建 课程首页单击“创建仓库”进入创建仓库页,按提示填写信息,单击“创建仓库”完成仓库创建。 ![image-20210222225324451](image/image-20210222225324451.png) ![image-20210222225604701](image/image-20210222225604701.png) ### 2.2 仓库删除 在课程首页的左下方的仓库名左侧有勾选框显示,勾选一个或多个仓库,单击右上角的“移除选中的仓库按钮”,可以删除一个或多个仓库。 ![image-20210222225836652](image/image-20210222225836652.png) ### 2.3 仓库使用 在课程首页单击任一仓库名,进入该仓库,可以使用git完成仓库的操作(git使用说明在2.4节中),也可以使用可视化完成新建文件、新建文件夹、上传文件、删除文件夹等操作。 ![image-20210222230558329](image/image-20210222230558329.png) 单击某一文件(如上图蓝色显示README.md处),进入该文件详情页,可以对文件进行文件下载、文件修改、文件删除等操作。 ![image-20210222231337542](image/image-20210222231337542.png) ### 2.4 Git使用 #### 2.4.1 Git简介 1、Git是什么 Git是一个版本控制系统工具,它可以帮你管理项目,记录每一次提交的变化,以方便你在发生错误时进行回滚。它几乎所有的控制操作都可以在本地执行,不需要网络开销的好处是Git的操作十分迅速。 2、安装Git 访问 https://git-scm.com/downloads ,下载合适的安装包进行安装。 3、详细Git教程 https://www.liaoxuefeng.com/wiki/896043488029600/ #### 2.4.2 常用Git命令 - **新建代码库** ```shell # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它的整个代码历史 $ git clone [url] ``` - **配置** ```shell # 显示当前的Git配置 $ git config --list # 编辑Git配置文件 $ git config -e [--global] # 设置提交代码时的用户信息 $ git config [--global] user.name "[name]" $ git config [--global] user.email "[email address]" ``` - **增加/删除文件** ```shell # 添加指定文件到暂存区 $ git add [file1] [file2] ... # 添加指定目录到暂存区,包括子目录 $ git add [dir] # 添加当前目录的所有文件到暂存区 $ git add . # 添加每个变化前,都会要求确认 # 对于同一个文件的多处变化,可以实现分次提交 $ git add -p # 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file1] [file2] ... # 停止追踪指定文件,但该文件会保留在工作区 $ git rm --cached [file] # 改名文件,并且将这个改名放入暂存区 $ git mv [file-original] [file-renamed] ``` - **代码提交** ```shell # 提交暂存区到仓库区 $ git commit -m [message] # 提交暂存区的指定文件到仓库区 $ git commit [file1] [file2] ... -m [message] ``` - **分支** ```shell # 列出所有本地分支 $ git branch # 列出所有远程分支 $ git branch -r # 列出所有本地分支和远程分支 $ git branch -a # 新建一个分支,但依然停留在当前分支 $ git branch [branch-name] # 新建一个分支,并切换到该分支 $ git checkout -b [branch] # 切换到指定分支,并更新工作区 $ git checkout [branch-name] # 建立追踪关系,在现有分支与指定的远程分支之间 $ git branch --set-upstream [branch] [remote-branch] # 合并指定分支到当前分支 $ git merge [branch] ``` - **远程同步** ```shell # 下载远程仓库的所有变动 $ git fetch [remote] # 显示所有远程仓库 $ git remote -v # 显示某个远程仓库的信息 $ git remote show [remote] # 增加一个新的远程仓库,并命名 $ git remote add [shortname] [url] # 取回远程仓库的变化,并与本地分支合并 $ git pull [remote] [branch] # 上传本地指定分支到远程仓库 $ git push [remote] [branch] # 强行推送当前分支到远程仓库,即使有冲突 $ git push [remote] --force # 推送所有分支到远程仓库 $ git push [remote] --all ``` ## 三、作业管理 ### 3.1 作业下载 课程成员将作业提交到以各自的成员名命名的仓库中,根据作业次序的不同,需提交到不同仓库分支。 ![image-20210222231726094](image/image-20210222231726094.png) 课程管理员可以在课程首页下载所有仓库中指定分支的内容。 ![image-20210222232014854](image/image-20210222232014854.png) ## 四、积分系统 在课程首页的右下角展示了积分排行榜。 ![image-20210222232958063](image/image-20210222232958063.png) 单击上图中的“设置评分权重”,可以设置各项分数的权重。系统会加权赋分给出学生分数。 ![image-20210222233331675](image/image-20210222233331675.png)