For this first assignment, you need to create your own private assignments Git repository on GitLab by following the instructions below:
The assignments repository will be used for your individual weekly reading and homework assignments. It must be kept private and only shared with the instructional staff.
The course projects will be collaborative, so we will create separate repositories for those.
The first step is to create a GitLab account if you don't have one already. GitLab is a code hosting repository similar to Bitbucket and GitHub. We will be using GitLab this semester since it provides for unlimited private repositories and no restrictions on the number of collaborators. Likewise, GitLab has built-in for continuous integration which will be using later in this course.
To create an account, go to https://gitlab.com/users/sign_in and follow the prompts there.
Once you are signed up and have logged in, go to the class assignments repository located at: https://gitlab.com/wscheirer/cse-40171-fa19-assignments and click on the Fork button. You will then be prompted to select a namespace. Choose your GitLab user name. This will create a copy of the original assignments repository to your personal GitLab account.
Next, you will configure the assignments repository so that it is private. That is, only you and the instructional staff should have access to it. To do this, click on the Settings gear on the bottom left-hand side of the project page, and then select General.
You will then be taken to the Project settings page for the repository. Expand the Visibility, project features, permissions section and set your Project Visibility to Private and then scroll down and click the green Save Changes button.
Afterwards, expand the Naming, topics, avatar settings and add your name and netid to the Project description. Once you have made these changes, make sure you scroll down and click on the Save changes button.
Next, you will ensure that the instructional staff has access to your repository by clicking on the Settings gear on the bottom left-hand side of the project page and select Members.
This will take you to the page to add new users to the project. You will need to add all of the instructional staff as part of your project (both instructors and all the teaching assistants):
Each instructional staff member should be given Developer access and an expiration date of 2019-12-31. After you have done this, send an email to Sophia (sabraha2@nd.edu) noting your GitLab ID for our records.
Once you have a private fork of the assignments repository and have configured it properly, you should clone it to your local workspace. This workspace can either be on the student machines, a virtual machine, or your personal machine.
To do this, copy the URL from the Project summary page and perform the clone command using Git on your desired platform. You will now have a local clone of the repository you can work with:
# Example on a student machine $ git clone https://walter_test@gitlab.com/walter_test/cse-40171-fa19-assignments.git # Clone the remote repository to the student machine Cloning into 'cse-40171-fa19-assignments'... Password for 'https://walter_test@gitlab.com'': remote: Counting objects: 47, done. remote: Compressing objects: 100% (7/7), done. remote: Total 47 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (47/47), done. Checking connectivity... done
If you try to do a git clone
and see a 401 unauthorized error
, be sure
to include your GitLab username in the URL:
$ git clone https://$USERNAME@gitlab.com/$USERNAME/cse-40171-fa19-assignments.git
If you try to do a git clone
on the student machines and it starts
but fails to ask you for a password, try running this command first:
$ unsetenv SSH_ASKPASS
This will force Git to use the terminal to ask you for your password rather than popup a window.
The README.md
files are annotated using Markdown. This is a simple plain
text formatting style that can be translated into HTML.
For a more complete example of what you can do with Markdown, check out the
reference provided by GitLab. To view the result of the translation, you
can use the provided mdview.sh
script.