Some files in the main branch are purposely incomplete to allow students to write code in lecture. My solutions are in the solutions branch.
You can switch branch on GitHub by clicking the branch button at the top left (should say main by default). Or, in IntelliJ, use Git > Branches. Or, in your terminal, git checkout solutions.
If you clone this repo directly, you will not have write access so won't be able to push to this repo (to back up your code to GitHub), only commit locally on your own computer. This would save your history but only locally, and it won't be backed up to GitHub.
Instead, you will need to fork this repository to create a copy of this repo under your own name (i.e., the name will be <your_github_username>/lecture_code). To fork, go to this repo on GitHub and click the fork button at the top right. Then clone your forked repo.
Since it will be your repo, you will have write access. You will also be able to "sync fork" (using the "sync fork" button on GitHub) then git pull to pull changes from this "upstream" repository.