1 First steps
Go to https://webis16.medien.uni-weimar.de/gitlab and log in with your university account if you haven't done so already. This is the same username and password that you have been using for our CVS. On your first login, your gitlab account will be created automatically.
You may not be able to see any projects yet, because you need to be granted access by one of our staff; if you have registered your account some time ago and still can't access any projects, please notify the webisstud
mailing list.
2 Exploring GitLab
Once you have access, you will see our projects at https://webis16.medien.uni-weimar.de/gitlab/explore/projects/
The projects are organized in mostly the same way that they were in CVS. Top-level folders under code-in-progress
are now called groups in GitLab. For instance webisstud
is now a group with the URL https://webis16.medien.uni-weimar.de/gitlab/webisstud.
You can see a list of all groups here https://webis16.medien.uni-weimar.de/gitlab/explore/groups
Each former CVS module on the second level of the hierarchy is now 'project' in Gitlab, and has its own git repository. For example, the project code-in-progress/webisstud/wstud-clickbait-ws16
is now project wstud-clickbait-ws16
in group webisstud
with the URL https://webis16.medien.uni-weimar.de/gitlab/webisstud/wstud-clickbait-ws16
3 Authentication And Cloning Projects
Each project page displays a clone URL under the project name. Two methods are supported: SSH and HTTPS, which have different clone URLs. The HTTPS method only uses your username and password. The SSH method is more convenient but requires some up-front setup: you need to generate an SSH key pair, and paste the public key into your profile page at: https://webis16.medien.uni-weimar.de/gitlab/profile/keys. If you don't have an SSH-key pair, you can generate one by running
ssh-keygen -t rsa -b 4096
Once your SSH key has been generated, copy the contents of ~/.ssh/id_rsa.pub
(or whatever file you chose to store your public key in) into the Key field at https://webis16.medien.uni-weimar.de/gitlab/profile/keys and click Add Key. This will add the public key to your GitLab account, so you can use you the corresponding private key to pull from and push to GitLab via SSH. Make sure to keep the private key part in ~/.ssh/id_rsa
secret at all times! If your private key gets compromised, delete the public key from GItLab and create a new key pair to prevent others from gaining unauthorized access to our Git repositories.
If you are using the webis
command (see next section), then webis git init
will automatically create an SSH key pair for you if you don't have one.
Once you have an authentication method set up, you can paste the clone URL behind 'git clone' in your terminal. For example, to clone the clickbait project using the HTTPS method, you would use:
git clone https://webis16.medien.uni-weimar.de/gitlab/webisstud/wstud-clickbait-ws16.git
With SSH this would be: (note the different domain name)
git clone git@webis.uni-weimar.de:webisstud/wstud-clickbait-ws16.git
Both URLs can be looked up and copied from the project page in GitLab.
If you need further instructions on working with Git from the command line, you can find many good tutorials online, such as the following:
webis
Command Line Tool
4 Working with the We provide a convenience command line tool called webis
to help you work with Gitlab. This will be installed on all of our lab machines; instructions for installation on your own machine will follow.
If this tool is already installed on your lab machine, run webis git init
and follow the instructions to configure it. Following that, there are several ways to clone multiple projects from GitLab:
- clone all projects that you have currently checked out from CVS:
- go (
cd
) tocode-in-progress
in your CVS workspace directory - run
webis git cvstree2git
- go (
- clone all projects from one or more GitLab groups:
- create a directory for your git workspace and switch to it
- run
webis git clone-groups
and select the project group(s) you want - after pressing return, all selected project groups will be cloned
You can then import all of the cloned projects into your IDE at once.
webis git clone-groups
can also be used for keeping your cloned working copies up to date.
5 Working with Eclipse
To avoid confusion with existing CVS projects, start with a new Eclipse workspace, or remove existing code-in-progress
projects before you begin.
5.1 Cloning Projects
You can clone individual projects directly from Eclipse using the following method:
- from any GitLab project page, copy the clone URL under the project name (next to 'SSH' or 'HTTPS')
- In Eclipse, go to the Git Repositories view (Window -> Show View)
- right click the Git Repositories view, and select paste repository path or URI
- in the following dialog, select the appropriate protocol and click Next
- select the
master
branch, then Next, then the destination directory on your local machine, and click Finish
5.2 Interacting with Git from Eclipse
Right click on any project in your workspace, select Team, and then Pull to download updates from GitLab into your local repository. The Team menu also provides options for committing your changes to your local repository and pushing your commits to GitLab.
The Git Repositories view allows you to update all of your local repositories at once: click the view area, press Ctrl-A
, then right-click and select Pull.
6 Working with IntelliJ IDEA
If you use IntelliJ IDEA, there is a slightly more convenient process with the Gitlab Projects plugin. Go to Configure -> Plugins -> Browse Repositories and install the plugin. Afterwards, there is a new option GitLab under Check out from Version Control.
From there, go to Settings to configure the plugin, enter https://webis16.medien.uni-weimar.de/gitlab as URL.
The Access Token must be generated from your GitLab profile page at https://webis16.medien.uni-weimar.de/gitlab/profile/personal_access_tokens.
After you click Refresh, you will see our project groups, which you can expand to find and clone individual projects.