skip to content

IT Help and Support

University Information Services

Use this brief step-by-step guide to understand how to set up and manage a simple project using GitLab.

1. Ensure that a top-level group exists for your organisation. You can set one up if it does not already exist.

If you are setting up GitLab for the first time for your organisation you should request a top-level group to represent your organisation – for example, a College, Department or other University Institution. You can request a new top level group by opening a support ticket in the UIS developer hub. 

2. Create a new project within your organisational group, or begin working on an exiting project.

Development normally happens within projects in GitLab. Structurally projects must be members of at least one group, and can be shared between multiple groups. New GitLab users will normally join an existing project and begin working on issues within that project.  Each project contains the following by default:

  • Repository: Use this to store your project code and other files under version control.
  • Wiki: Use this to create, add and update documentation about your project.
  • Issues: Use these to capture and break down functionality and bugs into separate tasks called issues. Issues can be created directly in the web interface or by email. They can be moved and shared between different projects, closed and deleted as required.
  • Issue Board: Use this to manage the issues within a project. Here you can plan, organise, visualise and adapt project workflow and dependencies. You can have multiple issue boards within each project and group.
  • Issue Tracker: Use this to view of all the issues in a project, or in all projects within a group and optionally apply bulk changes to issues. This view can be searched by creation date, status, label, milestone, or assignee for example. 

You can learn more about how to work with GitLab issues here:

 3. Break down the functionality you want to deliver into issues and add these to your project. Use milestones to determine a date by which different issues need to be completed. Agility is an underpinning concept, so issues can be adapted and moved between different sprints and milestones as your projects progress. 

4. Create a development branch for new work in your project.

GitLab comes with a software development environment similar to GitHub or BitBucket which software developers use to create and collaborate on code. If your project involves writing software use branches to store development work in progress. Each branch is a snapshot of your master code at the point it was branched. When the required functionality is complete this can be merged back into your master code.

5. Add teams and people to projects and assign issues to them

GitLab provides different view of how work a project is progressing. Use Burndown Charts to view and analyse progress towards individual milestones. Use Timelines to get an overview of project progress between milestones.

6. Optionally, create a fork from one or more branches to enable teams  and people to work in parallel on areas of functionality

A fork is a copy of a repository that is held in a separate namespace. Use forks to develop experimental features and functionality that's effectively sand-boxed away from your master code until you are ready to integrate them.

7. Use Merge Requests to integrate branches and/or forks back into your master code

Merge requests enable your team to review and merge code from different forks and branches into your master code. 

Watch this video to see how GitLab can be used to manage more complex development work with multiple code lines and branches.