学习CS61B的一个挑战便是需要学习使用Git and github。由于非伯克利注册的学生不能够得到instructional number,因此我们需要在自己的github上创建一个专有的repository,我将自己的命名为cs61b-sp18,有了这个repo,我们就可以把本地的课程代码/作业代码/项目代码推送到这个远程库中,然后上传到autograder进行评分。

1 配置github环境

  • 在 GitHub 创建一个仓库,这里为了方便起见,建议将 仓库名称本地的文件夹命名为相同的名字,我都命名为了 cs61b 将远程的仓库 clone 到本地
git clone https://github.com/chonghaozhang1998/cs61b.git
  • clone能够把GitHub上的repo复制到本地,并关联这两个repo,而且remote repository自动会变为origin (means origin remote repo). 需要注意的是,此时无论是本地的还是远程的repo上我们都还在master branch.

然后进入本地的repo:

cd cs61b
  • 在这个repo里我们需要从cs61b的官方github repository中将starter code导入到本地来。不过这时候origin是自己的github repo,所以不能用clone操作,而应先add再pull:
git remote add skeleton https://github.com/Berkeley-CS61B/skeleton-sp18.git
  • 这时候skeleton就是官方repo中的starter code远程库。然后
git pull skeleton master

2 提交代码

以lab1为例,将之前写的 HelloWorld.javaHelloNumbers.java 文件放到本地的 ./cs61b/lab1 中,然后暂存并提交这两个文件:

git add lab1/*
git commit -m "completed first part of lab1"

然后将这些更改推送到 origin 远程仓库上的 master 分支:

git push origin master

此时代码就提交到github上去了,然后就通过auto grade选择github上repo里的文件进行打分就可以了。