《数据结构与算法》课程的所有程序作业均通过 GitHub Classroom 发布。您可以通过我在课件中提供的作业链接访问对应的作业内容。本指南将详细介绍如何接受作业、提交作业,以及通过 GitHub 仓库的 Actions 功能如何查看作业测试结果。
前提条件
在开始之前,请确保您已满足以下条件:
- 拥有 GitHub 账户:如果您还没有 GitHub 账户,请前往 GitHub 官网 注册一个。
- 熟悉 Git 和 GitHub 的基本操作:如果您对 Git 或 GitHub 不熟悉,推荐阅读 廖雪峰的 Git 教程 或其他相关资料,掌握基本的命令(如 clone、commit、push 等)和工作流程。
接受作业
- 点击作业链接:在课件中找到我分享的作业链接,点击后会跳转至 GitHub Classroom 的作业页面。
- 接受邀请:如果是第一次使用 GitHub Classroom,您需要登录 GitHub 账户,授权 Github Classroom, 并接受课程邀请。
接受邀请后,GitHub Classroom 会为您自动创建一个专属的作业仓库,仓库名称通常包含您的 GitHub 用户名和作业编号。
此时,您可以点击该图中蓝色标记的网址,查看您的作业仓库;或者通过点击该图中的黑色 bottom,进入到 Github Codespaces。
提交作业
您可以通过如下两种方式提交作业:一是通过本地修改并 push 到自己的作业仓库;二是通过自己作业仓库中的 Github Codespaces 完成代码编写,并 push 到自己的作业仓库。
本地修改并提交作业
- 克隆仓库到本地:在生成的作业仓库页面,点击绿色的 “Code” 按钮,复制仓库的 HTTPS 或 SSH 链接。
在本地终端运行以下命令,将仓库克隆到您的电脑:
git clone https://github.com/EconCoders/dsalgo-assign-buffer-0-twosum-Lynn-Yi-Zhang.git # git clone 是 git 命令,https://是您自己的作业仓库地址,这里是演示,作业属于名为Lynn-Yi-Zhang的github账户,不要使用该地址
您的作业仓库地址可以在下图所示的地方找到:
-
完成代码编写:在本地仓库中完成作业要求的功能,修改或添加相关文件。
🤓 Note
- 您需要在
src/solution.py
中编辑代码,作业题目及要求在READM.md
中有具体说明。 - 每个作业均是基于uv包管理器,因此,您可以使用 uv 的相关命令运行您的作业。比如使用
uv sync
更新虚拟环境,使用uv run python pytest
来测试您的作业是否通过tests/test_*.py
中定义的测试项。 - 请不要修改除
src/solution.py
以外的其他文件,修改后,我的系统里会显示相关文件已被修改,可能会影响到您的平时成绩。
- 您需要在
-
提交更改到 GitHub:使用以下 Git 命令将代码提交到远程仓库:
git pull # 更新本地仓库,非必须
git add . # 在根目录霞运行该命令,表示添加所有更改到缓存区
git commit -m "submit ver1" # 在根目录霞运行该命令,表示将所有已提交到缓存区的更改提交到版本库中
git push # 在根目录霞运行该命令,表示将本地已commit的更新内容推送到远程仓库(也就是您在github上的作业仓库)
- 查看作业测试情况:提交之后,可以到您的对应作业仓库中的 Actions 中查看作业是否通过所有测试。
通过 Github Codespaces 修改并提交作业
Github Codespaces 允许您在云端修改并提交作业。其界面是 VS Code。好处是已经帮您把相关的环境配置好。使用可以按下图所示操作:
提交之后就可以回到自己的作业仓库,在 Actions 查看相关测试结果信息。