# 水杉码园教师使用手册(详细版) [toc] ## 一、课程管理 ### 1.1 课程创建 课程创建前需要登录教师账号,URL:http://gitea.shuishan.net.cn/ 在首页中选择创建课程,单击左上角头像处,在下拉菜单中选择“ + 创建课程”进行课程创建。 ![image-20210222200528159](image/image-20210222200528159-1615470337452.png) 页面跳转至“创建课程页”,按提示填写相关信息,单击“创建课程”完成课程创建。 注意:作业最大次数默认为10次,教师可根据开课过程中布置的作业次数设置该值,因创建课程后该值不可修改,建议设置作业最大次数略大于实际作业次数。 ![image-20210311193918556](image/image-20210311193918556.png) 单击右上角的“访问课程”按钮进入课程主页。 ![image-20210222201912579](image/image-20210222201912579-1615470337467.png) 也可以通过首页右侧的课程模块访问相关课程。 ![image-20210222202408124](image/image-20210222202408124-1615470337468.png) ![](image/image-20210222202150492-1615470337468.png) ![image-20210222202457727](image/image-20210222202457727-1615470337468.png) ### 1.2 成员管理 课程成员包括课程教师、助教、全体选课学生。 #### 1.2.1 助教 在课程首页的右侧有课程团队模块(课程团队相关概念及操作在1.3节团队管理中进行详细说明),单击"Owners",进入“Owners”团队管理页,在搜索框中搜索助教人员相关信息,单击“添加团队成员”即可完成助教添加。助教在本课程中拥有和教师相同的操作权限。 ![image-20210222210440745](image/image-20210222210440745.png) ![image-20210222212344881](image/image-20210222212344881.png) 在上述页面中,单击“移除成员”可以移除相关助教。 ![image-20210222212526751](image/image-20210222212526751.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 逐个添加学生 在课程首页单击“添加学生”按钮,在搜索框中输入学生相关信息(学号或姓名)找到该学生,单击“添加团队成员”完成单个学生的添加 注意:使用逐个添加学生功能,系统不会自动创建“AllStu”仓库(该仓库对所有学生可见,可用于存放课程资料),一般建议使用批量导入学生功能添加学生。 ![image-20210222202840044](image/image-20210222202840044.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 作业下载 课程学生将作业提交到以各自学号命名的仓库中,根据作业次序的不同,需提交到不同仓库分支。 例如第一次作业统一提交到各自学号命名的仓库中的homework00分支中。 ![image-20210222231726094](image/image-20210222231726094-1615470146942.png) 课程管理员可以在课程首页下载所有仓库中指定分支的内容。 下图是下载所有学生仓库中homework03分支下的作业示例。 ![image-20210222232014854](image/image-20210222232014854-1615470146941.png) ## 四、积分系统 在课程首页的右下角展示了积分排行榜。 ![image-20210222232958063](image/image-20210222232958063-1615470176887.png) 单击上图中的“设置评分权重”,可以设置各项分数的权重。系统会加权赋分给出学生分数。 ![image-20210222233331675](image/image-20210222233331675-1615470176888.png) 单击排行榜右侧的数字处,可查看学生提交数量、提问数量、回答数量等信息。 提交数量:学生在课程中提交作业、代码的次数 提问数量:学生在仓库话题中的发帖条数 回答数量:学生在仓库话题中的跟帖条数 ![image-20210311203622602](image/image-20210311203622602.png) ![image-20210311203329179](image/image-20210311203329179.png)