assignment workflow
实验/作业流程
本指南介绍了在 CS 61B 课程中如何配置实验/作业。
获取骨架代码
本指南的视频演示请见此链接。
skeleton
远程仓库包含所有作业的骨架代码。每当发布新的作业,或者我们需要更新作业时,你需要从 skeleton 仓库拉取代码。首先请确保你位于 sp24-s***
仓库目录下,然后:
git pull skeleton main
这条命令会从名为 skeleton
的远程仓库(地址为 https://github.com/Berkeley-CS61B/skeleton-sp24.git
)获取所有文件,并将它们复制到当前目录下。
如果遇到类似
fatal: refusing to merge unrelated histories
的错误,每次可以使用以下命令解决:git pull --no-rebase --allow-unrelated-histories skeleton main
(如果你正在进行 Lab 1,请回到实验指导。)
在 IntelliJ 中打开
以下步骤适用于所有实验/作业。每次从 skeleton
仓库拉取新的实验或项目文件后,都需要重新执行以下步骤。
启动 IntelliJ。如果未打开任何项目,请点击“Open”按钮。如果已经打开了项目,请点击 “File --> Open”。
找到并选择当前实验/作业所在的目录。例如,对于 Lab 1,你将选择
sp24-s***
仓库中的lab01
目录。点击 "File -> Project Structure" 菜单,并确保选中 Project 选项卡。将项目 SDK 设置为你已安装的 Java 版本。如果在下拉菜单中找不到 17 或更高版本,请确认你已完整下载并安装 Java。
在 Project 选项卡中,将 Project Language Level 设置为 "17 - Sealed types, always-strict floating-point semantics"。
此时,Project 选项卡应如下所示:
- SDK 设置为 Java 17 或更高版本
- 语言级别至少为 17,最多为 SDK。
- 编译器输出应已自动填写,并指向作业目录下的
out
文件夹
仍在 Project Structure 中,转到 Libraries 选项卡。点击 "+ -> Java" 按钮,然后找到
library-sp24
文件夹,选中后点击“Ok”。单击“Ok”以应用你的设置并离开 Project Structure。
此时,如果配置正确:
- 每个 Java 文件名旁边都应该显示一个蓝色圆圈。
- 打开任何 Java 文件时,代码都不应显示红色。
提交到 Gradescope
- 使用
git add
命令添加你的实验/作业目录。例如,对于 Lab 1,在你的仓库根目录 (sp24-***
) 下,使用git add lab01
命令。在实验/作业目录下,可以使用git add .
命令。 - 使用
git commit -m "<commit message here>"
命令提交你的代码。提交信息是必填的。例如,git commit -m "Finished Lab 1"
。 - 使用
git push origin main
命令将代码推送到远程仓库。 - 在 Gradescope 网站上打开对应的实验/作业。选择 Github,然后选择你的
sp24-s***
仓库以及main
分支,最后提交。你将收到确认邮件,并且自动评分器会自动运行。
Gradescope 将使用 Github 中你的代码的最新版本。如果你认为 Gradescope 判分的代码不是最新的,请使用 git status
命令检查是否已正确执行添加、提交和推送操作。
如果遇到无法推送代码的问题,请参考 Git WTFS。