adesso Blog

Ein Leitfaden zur Optimierung der täglichen Arbeit mit GitLab

Die Welt der Softwareentwicklung hat viele Methoden und Werkzeuge hervorgebracht, um die Produktivität und Effizienz zu maximieren. Eines dieser Werkzeuge ist die Versionskontrolle, ein System, das es den Entwicklerinnen und Entwicklern ermöglicht, Änderungen an ihrem Code zu verfolgen, zu verwalten und zu sichern. Der Einsatz von Versionskontrollsystemen (VCS) ist jedoch nicht auf die Softwareentwicklung beschränkt. Auch in vielen anderen Bereichen kann die Einführung von Versionskontrollsystemen einen erheblichen Mehrwert bieten.

Dieser Blog-Beitrag richtet sich an Nichtentwicklerinnen und Nichtentwickler und erklärt, was eine Versionierungskontrolle ist, welche Vorteile sie bietet und wie sie in verschiedenen Bereichen des Arbeitsalltags eingesetzt werden kann. Der Fokus liegt dabei auf der Verwendung von GitLab als VCS.

Was ist Versionierungskontrollsystem (VCS)?

Ein Versionskontrollsystem (VCS) ist ein Softwaretool, das Änderungen an Dateien im Laufe der Zeit aufzeichnet und speichert. Es ermöglicht den Benutzerinnen und Benutzern, verschiedene Versionen von Dateien zu verwalten, so dass sie jederzeit auf frühere Versionen zugreifen, Änderungen nachvollziehen und frühere Zustände wiederherstellen können. Dies ist besonders nützlich in der Softwareentwicklung, wo Änderungen am Quellcode häufig und oft von mehreren Personen gleichzeitig vorgenommen werden.

Es gibt zwei Haupttypen von Versionskontrollsystemen:

  • 1. Zentrale Versionskontrollsysteme (CVCS): Diese Systeme speichern alle Versionsdaten auf einem zentralen Server. Die Benutzenden holen sich eine Kopie der Dateien (oder des Quellcodes) und tragen die Änderungen auf dem Server ein, wenn sie fertig sind. Beispiele sind Subversion (SVN) oder Perforce.
  • 2. Verteilte Versionskontrollsysteme (DVCS): Bei dieser Art von System verfügen alle Benutzerinnen und Benutzer über eine vollständige Kopie des Repositorys (mit allen Versionen der Dateien). Änderungen können lokal gespeichert und später mit dem zentralen Repository synchronisiert werden. Bekannte Beispiele sind Git , Mercurial und in unserem Fall GitLab.

Bei adesso setzen wir derzeit GitLab als VCS ein. Aus diesem Grund gehe ich im Folgenden näher auf dieses System ein.

Einführung in GitLab

GitLab ist eine webbasierte DevOps-Plattform, die auf Git basiert und für Versionskontrolle, CI/CD (Continuous Integration/Continuous Deployment) und die Verwaltung des gesamten Softwareentwicklungsprozesses verwendet wird. Es bietet Entwicklerteams eine integrierte Umgebung, um den gesamten Lebenszyklus von Softwareprojekten effizient zu verwalten.

GitLab unterstützt die Softwareentwicklung mit verschiedenen Werkzeugen und Funktionen und bietet eine umfassende Plattform für Entwicklerteams, um ihre Arbeit von der Planung bis zum Betrieb zu organisieren. GitLab kann sowohl als Cloud-basierter Dienst (SaaS) als auch vor Ort (auf eigenen Servern) betrieben werden.

Die Vorteile eines solchen Systems beschränken sich jedoch nicht nur auf die Softwareentwicklung. Auch NichtEntwicklerinnen und NichtEntwicklern bietet ein solches System ungeahnte Möglichkeiten in der täglichen Arbeit und bei der Verwaltung ihrer Dokumente.

Vorteile der Versionskontrolle mit GitLab für Nichtentwicklerinnen und -entwickler

1. Nachverfolgbarkeit und Historie der Änderungen

Mit GitLab können Benutzerinnen und Benutzer jede Änderung an einer Datei verfolgen. Dies ist besonders nützlich, wenn mehrere Personen am selben Dokument arbeiten. Es ist leicht ersichtlich, wer wann welche Änderungen vorgenommen hat.

Anwendung im Büroalltag:

  • Dokumentenmanagement: In vielen Büros werden Dokumente wie Berichte, Verträge und Präsentationen häufig aktualisiert. Mit GitLab können alle Änderungen nachvollzogen werden, was die Zusammenarbeit und das Verständnis der Dokumentenhistorie erleichtert.
  • Projektmanagement: Bei Projekten, an denen mehrere Personen beteiligt sind, können alle Änderungen und Aktualisierungen an Projektplänen und -dokumenten überwacht und dokumentiert werden.
2. Wiederherstellung früherer Versionen

Einer der größten Vorteile von GitLab ist die Möglichkeit, frühere Versionen einer Datei wiederherzustellen. Wenn ein Fehler passiert oder eine Änderung nicht wie erwartet funktioniert, kann man einfach zu einer früheren Version zurückkehren.

Anwendung im Büroalltag:

  • Fehlerkorrektur: Wenn ein Fehler in einem wichtigen Dokument entdeckt wird, kann man schnell zu einer Version zurückkehren, die vor dem Fehler erstellt wurde.
  • Versionen vergleichen: Benutzerinnen und Benutzer können verschiedene Versionen eines Dokuments vergleichen, um Unterschiede zu erkennen und die Entwicklung des Dokuments nachzuvollziehen.
3. Gleichzeitige Bearbeitung und Zusammenarbeit

Mit GitLab können mehrere Personen gleichzeitig an denselben Dateien arbeiten, ohne sich gegenseitig zu behindern. Änderungen können zusammengeführt und auftretende Konflikte gelöst werden.

Anwendung im Büroalltag:

  • Teamarbeit: In Teams können Mitglieder gleichzeitig an denselben Dokumenten arbeiten, ohne sich gegenseitig zu behindern. Änderungen werden zusammengeführt und auftretende Konflikte können gelöst werden.
  • Standortübergreifende Zusammenarbeit: Teams, die an verschiedenen Standorten arbeiten, können problemlos zusammenarbeiten, da alle Änderungen zentral verfolgt und synchronisiert werden.
4. Verzweigungen und parallele Entwicklungen

Mit GitLab können Zweige (Branches) erstellt werden, um unabhängig voneinander an verschiedenen Versionen eines Projekts zu arbeiten. Dies ist besonders nützlich, wenn verschiedene Personen an verschiedenen Funktionen oder Teilen eines Projekts arbeiten.

Anwendung im Büroalltag:

  • Experimentieren ohne Risiko: Teams können neue Ideen ausprobieren oder Änderungen testen, ohne das Hauptdokument zu gefährden. Wenn die Änderungen erfolgreich sind, können sie in die Hauptversion übernommen werden.
  • Arbeitsteilung: Verschiedene Teams oder Abteilungen können an ihren eigenen Zweigen arbeiten und ihre Änderungen später zusammenführen.
5. Automatisierung und Integration

GitLab bietet umfangreiche Möglichkeiten zur Automatisierung von Arbeitsabläufen und zur Integration mit anderen Tools und Systemen. Beispielsweise können automatische Backups, Benachrichtigungen und Tests eingerichtet werden, um den Workflow zu optimieren.

Anwendung im Büroalltag:

  • Automatische Backups: Wichtige Dokumente und Dateien können automatisch gesichert werden, um Datenverluste zu vermeiden.
  • Benachrichtigungen: Teams können Benachrichtigungen erhalten, wenn wichtige Dokumente geändert wurden, damit sie immer auf dem neuesten Stand sind.
  • Automatisierte Prozesse: Mit GitLab CI/CD können wiederkehrende Aufgaben automatisiert werden, was Zeit spart und die Effizienz steigert.
6. Datensicherheit und Zugriffssteuerung

GitLab bietet erweiterte Funktionen zur Kontrolle des Zugriffs auf Dateien und zur Verwaltung von Benutzerrechten. Dies erhöht die Datensicherheit und stellt sicher, dass nur autorisierte Personen Änderungen vornehmen können.

Anwendung im Büroalltag:

  • Zugriffsrechte: Verantwortliche können steuern, wer auf welche Dateien zugreifen und sie bearbeiten darf. Dies erhöht die Sicherheit und stellt sicher, dass vertrauliche Informationen geschützt sind.
  • Audit Trails: Unternehmen können anhand von Audit Trails nachvollziehen, wer welche Änderungen vorgenommen hat, was zur Einhaltung von Vorschriften und internen Richtlinien beiträgt.

GitLab Workflow – Ein typischer Ablauf

Einen eigenen GitLab Bereich können Sie ganz einfach über den IT Support bestellen. Danach steht euch die gesamte GitLab-Welt zur freien Verfügung. Hier könnt ihr dann eure Projekte und deren Inhalte versionieren und verwalten.

Im Folgenden möchte ich die einzelnen Schritte und Möglichkeiten näher erläutern.

GitLab ist eine Versionskontroll- und Kollaborationsplattform, die hauptsächlich von Entwicklerinnen und Entwicklern genutzt wird, um Projekte zu verwalten, aber auch für Teams außerhalb der Softwareentwicklung tolle Funktionen bietet. GitLab basiert auf Git, einem Versionskontrollsystem, das Änderungen an Dateien verfolgt. In diesem Leitfaden erklären wir die grundlegenden Schritte und Möglichkeiten von GitLab in einer leicht verständlichen Sprache, so dass auch Nichtentwicklerinnen und -entwicklern leicht damit anfangen können.

1. Ein Repository erstellen

Ein Repository ist ein Ort, an dem alle Dateien und ihre Versionen für ein Projekt gespeichert werden.

Wofür ist es hilfreich?

Hier könnt iht eure Dateien speichern und alle Änderungen an diesen Dateien verfolgen.

Schritte:

  • Meldet euch bei GitLab an und klickt auf den Button „Neues Repository“.
  • Gebt eurem Repository einen Namen (zum Beispiel „Marketingkampagne“ oder „Bericht 2024“).
  • Wählt, ob das Repository öffentlich oder privat sein soll. Ein privates Repository ist nur für dein Team sichtbar.
  • Klickt auf „Create Repository“.
2. Hochladen von Dateien

Nachdem ihr euer Repository erstellt habt, müsst ihr die Dateien hochladen, mit denen ihr arbeiten wollt, egal ob es sich um ein Word-Dokument, eine Präsentation oder eine Tabellenkalkulation handelt.

Wofür ist es hilfreich?

Alle Dateien, die ihr in eurem Projekt verwendet, befinden sich nun im Repository und sind für alle Teammitglieder zugänglich.

Schritte:

  • Geht zu eurem Repository und klickt auf „Add file“.
  • Ihr könnt entweder eine neue Datei erstellen oder eine vorhandene Datei von deinem Computer hochladen.
  • Nach dem Hochladen gebt ihr eine kurze Beschreibung der Änderung ein und klickt auf „Commit changes“. Damit wird die aktuelle Version der Datei gespeichert.
3. Änderungen vornehmen und „Committen“

Wenn ihr an einer Datei arbeitet und Änderungen vornehmt, wollt ihr sichergehen, dass diese Änderungen auch verfolgt werden. In GitLab wird das Committen genannt.

Wofür ist es hilfreich?

Jede Änderung wird dokumentiert und ihr könnt immer auf frühere Versionen zurückgreifen, falls etwas schief geht.

Schritte:

  • Öffnet die Datei, die ihr bearbeiten wollt.
  • Nehmt die Änderungen an der Datei vor, zum Beispiel „Text schreiben“, „neue Daten hinzufügen“ oder „ein Bild ändern“.
  • Nachdem ihr die Änderungen durchgeführt habt, gebt eine kurze Commit-Nachricht ein, die beschreibt, was geändert wurde (etwa „Korrektur der Überschrift“ oder „Aktualisierte Zahlen für das Quartal“).
  • Klickt auf „Commit changes“.
4. Branches: Paralleles Arbeiten an Dateien

Ein Branch ist wie ein alternativer Arbeitsbereich, in dem ihr experimentieren könnt, ohne die Hauptversion eurer Dateien zu verändern. Ihr könnt verschiedene Ideen oder Änderungen ausprobieren, ohne das Hauptprojekt zu beeinflussen.

Wofür ist es hilfreich?

Perfekt, um neue Ideen oder Änderungen auszuprobieren, ohne das Hauptdokument zu verändern.

Schritte:

  • Geht zu eurem Projektarchiv und klickt auf „Branch: main“.
  • Gebt einen neuen Namen für den Branch ein (zum Beispiel „Neues Design“ oder „Angebotsphase“) und klickt auf „Create branch“.
  • Bearbeitet den neuen Branch wie gewohnt und nehmt Änderungen vor. Diese werden erst auf den Hauptbranch übertragen, wenn ihr dazu bereit seid.
5. Pull Requests: Änderungen zur Überprüfung vorschlagen

Wenn ihr mit euren Änderungen in einem Branch zufrieden seid und sie in die Hauptversion des Projekts übernehmen wollt, erstellt ihr einen Pull Request. Dies ist eine Möglichkeit, deine Änderungen dem Team zur Prüfung und Genehmigung vorzuschlagen.

Wofür ist es hilfreich?

Auf diese Weise können die Teammitglieder die Änderungen überprüfen, Feedback geben und sicherstellen, dass alles korrekt ist, bevor sie in die Hauptversion übernommen werden.

Schritte:

  • Geht zu eurem Branch und klickt auf „New Pull Request“.
  • GitLab zeigt euch die Unterschiede zwischen der Hauptversion (dem „main“ Branch) und eurem Branch an.
  • Beschreibt eure Änderungen und warum ihr sie vorschlagt.
  • Klickt auf „Create Pull Request“.
6. Mergen: Änderungen in die Hauptversion übernehmen

Nachdem der Pull Request geprüft wurde und ihr bereit seid, die Änderungen in die Hauptversion zu integrieren, könnt ihr den Branch mergen (zusammenführen).

Wofür ist es hilfreich?

Die Änderungen in eurem Test Branch sind nun Teil des Hauptprojektes.

Schritte:

  • Geht zu eurem Pull Request und klickt auf „Merge pull request“.
  • Bestätigt den Merge und die Änderungen werden in die Hauptversion übernommen.
7. Verlauf anzeigen: Wer hat was geändert?

GitLab speichert alle Änderungen an einem Projekt. Ihr könnt euch die Historie eines Projekts ansehen, um zu sehen, wer was wann geändert hat.

Wofür ist es hilfreich?

Ihr könnt leicht nachvollziehen, wie sich euer Projekt entwickelt hat und bei Bedarf ältere Versionen wiederherstellen.

Schritte:

  • Geht zu eurem Projektarchiv und klickt auf den Reiter „Commits“.
  • Ihr seht eine Liste aller Änderungen, die an eurem Projekt vorgenommen wurden, die Namen der Personen, die die Änderungen vorgenommen haben und die Commit-Nachrichten, die die Änderungen beschreiben.
8. Zusammenarbeit und Diskussionen

Mit GitLab können Teams direkt auf der Plattform über Änderungen und Projekte kommunizieren.

Wofür ist es hilfreich?

Diese Funktionen erleichtern die Zusammenarbeit und Kommunikation in einem Team, insbesondere wenn über große Entfernungen hinweg gearbeitet wird.

Schritte:

  • Ihr könnt Kommentare zu einem Pull Request hinzufügen, um Feedback zu geben oder Fragen zu klären.
  • GitLab bietet auch die Möglichkeit, „Issues“ zu erstellen. Dies sind Diskussionspunkte oder Aufgaben, die erledigt werden müssen (zum Beispiel. „Füge neue Grafiken für den Bericht hinzu“).
Zusammenfassung der wichtigsten Schritte:
  • 1. Ein Repository erstellen: Organisiert euer Projekt an einem zentralen Ort.
  • 2. Dateien hochladen: Arbeitsdateien wie Dokumente, Tabellen oder Präsentationen speichern.
  • 3. Änderungen committen: Jede Änderung dokumentieren und speichern.
  • 4. Branches erstellen: An verschiedenen Versionen eines Dokuments arbeiten.
  • 5. Pull Requests: Änderungen vorschlagen und zur Prüfung freigeben.
  • 6. Merge: Änderungen in die Hauptversion integrieren.
  • 7. Historie anzeigen: Die Entwicklung und Änderungen des Projekts verfolgen.
  • 8. Kommunikation: Über GitLab gemeinsam an Projekten arbeiten und diskutieren.

Fazit

Die Nutzung von Versionskontrolle mit GitLab ist nicht nur für Entwicklerinnen und Entwickler von Vorteil, sondern kann auch Nichtentwicklerinnen und -entwickler erheblich dabei helfen, ihre tägliche Arbeit zu optimieren. Durch die Nachvollziehbarkeit von Änderungen, die Möglichkeit der Wiederherstellung früherer Versionen, die Erleichterung der Zusammenarbeit und die erhöhte Datensicherheit bietet GitLab viele Vorteile, die in verschiedenen beruflichen und privaten Kontexten genutzt werden können.

Durch die Integration von GitLab in eure Arbeitsprozesse können ihr die Effizienz und Qualität eurer Arbeit verbessern, Fehler minimieren und die Zusammenarbeit in eurem Team fördern. Es lohnt sich, die Möglichkeiten der Versionskontrolle zu erkunden und zu nutzen, um von den vielen Vorteilen zu profitieren.

Vielleicht konnte ich euch davon überzeugen, dass GitLab auch für euch ein richtiges und wichtiges Werkzeug zur Organisation eurer Projekte und Dokumente sein kann.

Ihr möchtet mehr zu spannenden Themen aus der adesso-Welt erfahren? Dann werft auch einen Blick in unsere bisher erschienenen Blog-Beiträge.

Bild Manfred Specht

Autor Manfred Specht

Manfred Specht ist Senior Software Engineer bei adesso.

Kategorie:

Softwareentwicklung

Schlagwörter:

Softwareprojekte

Diese Seite speichern. Diese Seite entfernen.