GitLab Workbook Submission Instructions

Overview

All workbook submissions in CS559 are managed through UW GitLab:

https://git.doit.wisc.edu

Unlike GitHub Classroom, you do not need to accept an assignment invitation and you do not create your own repository.

Instead:

  1. Course staff create a private GitLab subgroup for each student.
  2. Course staff create workbook repositories for each assignment.
  3. Students clone their workbook repository, complete the assignment, and push their changes back to GitLab.

Before the First Workbook

  1. Log in to UW GitLab:

    https://git.doit.wisc.edu

  2. Click on Groups in the left sidebar.

  3. Verify that you can see your private subgroup under one of the following hierarchies (you may need to expand folders in order to do so):

1
2
3
4
5
6
7
CDIS
→ Computer Sciences
→ Courses
→ CS559
→ F26
→ Students
→ <your NetID>
1
2
3
4
CS559
→ F26
→ Students
→ <your NetID>

The name of your subgroup is your NetID. Your subgroup is where you will be able to find your workbooks and any other course assignments assigned through GitLab.

  1. If you cannot find your subgroup, contact the course staff immediately.

Accessing a Workbook

When a workbook is released, a repository will appear inside your subgroup:

1
2
3
4
5
CS559
└── F26
    └── Students
        └── <your NetID>
            └── WB1

For example:

1
2
3
Students
└── jsmith
    └── WB1

You should only be able to see your own subgroup and repositories.

You should not be able to see other students’ repositories.


Clone the Repository

Open your workbook repository in GitLab and copy the HTTPS clone URL.

Clone the repository:

1
git clone <repository-url>

Example:

1
git clone https://git.doit.wisc.edu/...

If prompted for authentication, use your UW GitLab credentials or personal access token.


Working on the Workbook

Work normally using Git:

1
2
3
git add .
git commit -m "Complete Question 3"
git push

You may commit and push as often as you like.

The GitLab repository is your submission record.


Submission

There is no separate upload step.

Your submission is:

The most recent commit pushed to GitLab before the deadline.

Be sure to push your work:

1
git push

before the due date.

Local commits that have not been pushed are not submitted.


Verify Your Submission

After pushing:

  1. Refresh the GitLab repository page.
  2. Verify that your latest commit appears.
  3. Verify that the files shown match what you intend to submit.

Personal Access Tokens (PAT)

GitLab may occasionally ask for authentication when cloning, pulling, or pushing using HTTPS.

In these cases, use a Personal Access Token (PAT) instead of your password.

Creating a Personal Access Token

  1. Log in to UW GitLab:

    https://git.doit.wisc.edu

  2. Click your profile picture in the upper-right corner.

  3. Select:

    1
    2
    
    Edit Profile
    → Access Tokens
    
  4. Create a new token:

    1
    2
    
    Name: CS559
    Expiration Date: (your choice)
    
  5. Enable the following scopes:

    1
    2
    
    ✓ read_repository
    ✓ write_repository
    
  6. Click:

    1
    
    Create personal access token
    
  7. Copy the token immediately and store it somewhere safe.

    GitLab will only display the token once.


Using the Token

When Git asks for credentials while cloning, pulling, or pushing:

Username

1
<your NetID>

Password

1
<your personal access token>

Use the personal access token, not your UW password.


Example

1
git push

Git may prompt:

1
Username for 'https://git.doit.wisc.edu':

Enter:

1
jsmith

Then:

1
Password for 'https://git.doit.wisc.edu':

Enter:

1
glpat-xxxxxxxxxxxxxxxxxxxx

(your personal access token).


Credential Managers

Most Git installations remember credentials after the first successful authentication.

If your computer offers to save the token securely, you may do so.


Lost or Compromised Tokens

If a token is lost, accidentally shared, or committed to a repository:

  1. Return to:

    1
    2
    
    Edit Profile
    → Access Tokens
    
  2. Revoke the token.

  3. Create a new one.

Treat personal access tokens like passwords.

Never post them publicly or include them in repositories.

Important Notes

Do Not Rename Repositories

Workbook repositories should keep their assigned names:

1
2
3
4
WB1
WB2
WB3
...

Do not rename repositories.


Do Not Change Permissions

Do not modify repository membership or permissions.


Keep Repositories Private

Do not share repository URLs or Git access with other students.


Template Repositories

Course staff maintain separate workbook templates.

Students do not need to:

  • create repositories,
  • fork repositories,
  • add remotes,
  • or manage repository permissions.

All required repositories are created automatically by the course staff.


Frequently Asked Questions

I cannot see my workbook repository.

Confirm that you can access:

1
2
3
4
CS559
→ F26
→ Students
→ <your NetID>

If the workbook repository is missing, contact the course staff.


I can commit locally but cannot push.

Verify that:

  1. You are logged into UW GitLab.
  2. You are pushing to the correct repository.
  3. You are using the correct GitLab credentials or personal access token.

If the issue persists, contact the course staff and include the full error message.


Can I make multiple pushes before the deadline?

Yes.

You may push as many times as you like.

The latest commit pushed before the deadline will be graded.


What happens if I forget to push?

Only commits that have been pushed to GitLab are considered submitted.

Local commits remaining on your computer are not visible to course staff and cannot be graded.


Getting Help

Please contact the course staff if:

  • you cannot access GitLab,
  • you cannot see your workbook repository,
  • you cannot push to your repository,
  • or you believe your submission is missing.

When contacting course staff, include:

  • your NetID,
  • the workbook name (for example, WB1),
  • and any error messages you received.

Submission Checklist

Before every deadline:

  • Commit all changes.
  • Push all changes.
  • Verify the latest commit appears on GitLab.
  • Verify all required files are present.
  • Confirm the push occurred before the deadline.

If all items above are checked, your workbook has been successfully submitted.