For your labs (programming assignments), we will be using the version control system called git alongside GitLab. If you aren't familiar with these tools then it will help to follow these steps. 

Setting up UTK's VPN

First, try going here https://gitlab.eecs.utk.edu/

If it works then this means you are either on a EECS computer, using UTK's VPN, or you are connected to the eduroam wireless network on campus.

In order to get to this webpage outside of campus you'll need the VPN. Here's the link to set that up on your personal computer if you haven't done so. https://utk.teamdynamix.com/TDClient/2277/OIT-Portal/KB/ArticleDet?ID=119875

Using GitLab

Once you've accessed gitlab go ahead and login with your netid credentials. 

Next, you'll make a new project by clicking "Create a project". Then select, "Create blank project". Title it "labX" where X is the number of the lab you're doing and BE SURE TO MAKE IT PRIVATE. You should also initialize it with a README.  

Select Create Project.

Then you will select "Project information->Members" on the left sidebar. Select "invite members". Under "GitLab member or Email address" enter these 4 netids: hprice7, jananth2, npatel79, ntayefeh. For "Choose a role permission" choose "developer". 

Now your lab repo is good to go. 

Cloning your lab repository

From here you will ssh into a hydra machine. On the webpage for your gitlab project you'll see a blue "Clone" button. Click this and copy the URL under "Clone with HTTPS". If you do not wish to enter you username and password for each commit you can set up SSH keys in GitLab. The SSH Keys setting is under "Preferences" in the drop down menu in the top right corner. There is a nice tutorial found through the "generate one" link. If you wish to set SSH keys up then you can insead copy the URL under "Clone with SSH".

Either way, now you will have a URL to clone the repo locally on hydra. Within your hydra terminal, go to whichever directory you would like to store your projects and run git clone "your url". Those of you that cloned through HTTPS will have to enter your username and password and those of you that cloned througj SSH will not. You'll now see your lab directory on hydra. Some git clients may require a config change to allow untrusted SSL certificates. To fix this run: git config --global http.sslVerify "false"

Workflow

 At this point you can code away at your lab on hydra machines. In order to keep the remote instance of your lab repo (the lab repo on GitLab) up-to-date with your local instance you'll periodically (usually at the end of every coding session) want to run these commands:

git add example_file1 OR git add example_file1 example_file2 example_file3 .......

git commit -m "message explaining the changes"

git push

The first command stages a change to be committed while the second command commits the changes. And finally the push command makes everything on GitLab look the same as your local instance. If there's ever any workflow issues here then make an Ed post explaining what went wrong and I or the other TAs will help you fix them.