A guide to optimising your daily work with GitLab

The world of software development has produced many methods and tools to maximise productivity and efficiency. One of these tools is version control, a system that allows developers to track, manage and secure changes to their code. However, the use of version control systems (VCS) is not limited to software development. In many other areas, the introduction of version control systems can also offer significant added value.

This blog post is aimed at non-developers and explains what version control is, what advantages it offers and how it can be used in various areas of everyday work. The focus is on using GitLab as a VCS.

What is a version control system (VCS)?

A version control system (VCS) is a software tool that records and stores changes to files over time. It allows users to manage different versions of files so that they can access previous versions at any time, track changes and restore previous states. This is particularly useful in software development, where changes to source code are frequent and often made by multiple people at the same time.

There are two main types of version control system:

  • 1. Centralised version control systems (CVCS): These systems store all version data on a central server. Users obtain a copy of the files (or source code) and enter the changes on the server when they are finished. Examples include Subversion (SVN) or Perforce.
  • 2. Distributed Version Control Systems (DVCS): With this type of system, all users have a complete copy of the repository (with all versions of the files). Changes can be stored locally and synchronised with the central repository later. Well-known examples are Git, Mercurial and, in our case, GitLab.

At adesso, we currently use GitLab as our VCS. That is why I will be covering this system in more detail below.

Introduction to GitLab

GitLab is a web-based DevOps platform based on Git that is used for version control, CI/CD (Continuous Integration/Continuous Deployment) and managing the entire software development process. It offers development teams an integrated environment for efficiently managing the entire software project life cycle.

GitLab supports software development with a range of tools and features, providing a comprehensive platform for development teams to organise their work from planning to operation. GitLab can be operated both as a cloud-based service (SaaS) and on-premises (on your own servers).

However, the advantages of such a system are not limited to software development. It also offers non-developers unimagined possibilities in their daily work and in the management of their documents.

Advantages of version control with GitLab for non-developers

1. Traceability and history of changes

GitLab allows users to track every change made to a file. This is particularly useful when multiple people are working on the same document. It is easy to see who made which changes and when.

How it can be used in an office:

  • Document management: In many offices, documents such as reports, contracts and presentations are frequently updated. GitLab can be used to track all changes, making it easier to collaborate and understand the document history.
  • Project management: For projects involving multiple people, all changes and updates to project plans and documents can be monitored and documented.
2. Restoring previous versions

One of the biggest advantages of GitLab is the ability to restore previous versions of a file. If an error occurs or a change doesn't work as expected, you can simply revert to a previous version.

How it's used in the office:

  • Bug fixing: If an error is discovered in an important document, you can quickly revert to a version created before the error.
  • Compare versions: Users can compare different versions of a document to see differences and track the document's development.
3. Simultaneous editing and collaboration

GitLab allows multiple people to work on the same files at the same time without getting in each other's way. Changes can be merged and conflicts resolved.

How it's used in the office:

  • Teamwork: Team members can work on the same documents at the same time without getting in each other's way. Changes can be merged and conflicts resolved.
  • Cross-location collaboration: Teams working at different locations can easily collaborate because all changes are tracked and synchronised centrally.
4. Branches and parallel developments

GitLab can be used to create branches to work independently on different versions of a project. This is particularly useful when different people are working on different features or parts of a project.

How it's used in the office:

  • Risk-free experimentation: Teams can try out new ideas or test changes without endangering the main document. If the changes are successful, they can be incorporated into the main version.
  • Division of labour: Different teams or departments can work on their own branches and merge their changes later.
5. Automation and integration

GitLab offers extensive options for automating workflows and integrating with other tools and systems. For example, automatic backups, notifications and tests can be set up to optimise the workflow.

How it's used in the office:

  • Automatic backups: Important documents and files can be automatically backed up to prevent data loss.
  • Notifications: Teams can receive notifications when important documents have been changed so that they are always up to date.
  • Automated processes: GitLab CI/CD can be used to automate repetitive tasks, saving time and increasing efficiency.
6. Data security and access control

GitLab offers advanced features for controlling access to files and managing user permissions. This increases data security and ensures that only authorised persons can make changes.

How it's used in the office:

  • Access rights: Managers can control who can access and edit which files. This increases security and ensures that confidential information is protected.
  • Audit trails: Companies can use audit trails to track who has made which changes, which helps ensure compliance with regulations and internal policies.

GitLab Workflow – A typical workflow

You can easily order your own GitLab space through IT Support. After that, the entire GitLab world is at your disposal. You can then version and manage your projects and their content here.

In the following, I would like to explain the individual steps and possibilities in more detail.

GitLab is a version control and collaboration platform that is mainly used by developers to manage projects, but it also offers great features for non-development teams. GitLab is based on Git, a version control system that tracks changes to files. In this guide, we explain the basic steps and features of GitLab in an easy-to-understand language so that non-developers can get started quickly.

1. Create a repository

A repository is a place where all files and their versions for a project are stored.

What is it useful for?

You can store your files here and track all changes to these files.

Steps:

  • Sign up for GitLab and click on the ‘New Repository’ button.
  • Give your repository a name (for example, ‘Marketing Campaign’ or ‘Report 2024’).
  • Choose whether you want the repository to be public or private. A private repository is only visible to your team.
  • Click on ‘Create Repository’.

2. Uploading files

After you've created your repository, you'll need to upload the files you want to work with, whether it's a Word document, a presentation, or a spreadsheet.

What's it helpful for?

All the files you use in your project are now in the repository and accessible to all team members.

Steps:

  • Go to your repository and click on ‘Add file’.
  • You can either create a new file or upload an existing file from your computer.
  • After uploading, enter a short description of the change and click on ‘Commit changes’. This saves the current version of the file.
3. Make changes and commit

When you are working on a file and making changes, you want to make sure that these changes are tracked. In GitLab, this is called committing.

What is it useful for?

Every change is documented and you can always revert to previous versions if something goes wrong.

Steps:

  • Open the file you want to edit.
  • Make changes to the file, for example, ‘write text’, ‘add new data’ or ‘change an image’.
  • After you have made the changes, enter a short commit message that describes what has been changed (e.g. ‘Corrected heading’ or ‘Updated figures for the quarter’).
  • Click ‘Commit changes’.
4. Branches: Working on files in parallel

A branch is like an alternative workspace where you can experiment without changing the main version of your files. You can try out different ideas or changes without affecting the main project.

What is it useful for?

Perfect for trying out new ideas or changes without changing the main document.

Steps:

  • Go to your repository and click on ‘Branch: main’.
  • Enter a new name for the branch (for example, ‘New Design’ or ‘Quotation Phase’) and click on ‘Create branch’.
  • Work on the new branch as usual and make changes. These will only be merged into the main branch when you are ready.
5. Pull Requests: Suggest changes for review

If you are satisfied with your changes in a branch and want to incorporate them into the main version of the project, you create a pull request. This is a way of suggesting your changes to the team for review and approval.

What is it useful for?

This way, team members can review the changes, provide feedback and ensure that everything is correct before incorporating them into the main version.

Steps:

  • Go to your branch and click on ‘New Pull Request’.
  • GitLab shows you the differences between the main version (the ‘main’ branch) and your branch.
  • Describe your changes and why you are proposing them.
  • Click on ‘Create Pull Request’.
6. Merging: integrating changes into the main version

After the pull request has been reviewed and you are ready to integrate the changes into the main version, you can merge the branch.

What is it helpful for?

The changes in your test branch are now part of the main project.

Steps:

  • Go to your pull request and click on ‘Merge pull request’.
  • Confirm the merge and the changes will be applied to the main version.
7. View history: Who changed what?

GitLab stores a record of all changes made to a project. You can view a project's history to see who changed what and when.

What is it useful for?

You can easily see how your project has developed and restore older versions if necessary.

Steps:

  • Go to your repository and click on the ‘Commits’ tab.
  • You will see a list of all changes that have been made to your project, the names of the people who made the changes, and the commit messages that describe the changes.
8. Collaboration and Discussions

GitLab allows teams to communicate about changes and projects directly on the platform.

What is it helpful for?

These features make it easier to collaborate and communicate as a team, especially when working across long distances.

Steps:

  • You can add comments to a pull request to provide feedback or clarify questions.
  • GitLab also offers the option to create ‘issues’. These are discussion points or tasks that need to be completed (e.g. ‘Add new graphics for the report’).

Summary of the most important steps:

  • 1. Create a repository: Organise your project in a central location.
  • 2. Upload files: Store work files such as documents, spreadsheets or presentations.
  • 3. Commit changes: Document and save every change.
  • 4. Create branches: Work on different versions of a document.
  • 5. Pull Requests: Suggest changes and release them for review.
  • 6. Merge: Integrate changes into the main version.
  • 7. View history: Track the development and changes of the project.
  • 8. Communication: Work together on projects and discuss them via GitLab.

Conclusion

Using version control with GitLab is not only beneficial for developers, but can also significantly help non-developers to optimise their daily work. By providing traceability of changes, the ability to restore previous versions, facilitating collaboration and increased data security, GitLab offers many advantages that can be used in various professional and personal contexts.

By integrating GitLab into your work processes, you can improve the efficiency and quality of your work, minimise errors and promote collaboration within your team. It is worth exploring and taking advantage of version control options to reap the many benefits.

Perhaps I have convinced you that GitLab can be a useful and important tool for organising your projects and documents.

Would you like to learn more about exciting topics from the adesso world? Then take a look at our previously published blog posts.

Picture Manfred Specht

Author Manfred Specht

Manfred Specht is Senior Software Engineer at adesso.

Save this page. Remove this page.