Startseite
Auf dieser Seite finden Sie ein Guide mit allen grundlegenden Informationen, um sich als Mitglied der Öffentlichen Verwaltung auf der Plattform openCode zurecht zu finden.
Falls Sie sich schon ein wenig mit GitLab und Git auskennen, verweisen wir Sie an dieser Stelle auf die offizielle Dokumentation von GitLab.
Was ist openCode?
openCode ist die erste bundesweite Plattform, über die die Öffentliche Verwaltung auf Ebene von Bund, Ländern und Kommunen nach Open-Source-Software suchen und diese nutzen, eigenen Code entwickeln oder bestehenden Projekten mitgestalten kann.
Unser Ziel ist es, eine Plattform zu schaffen, die die Nutzung und Bereitstellung nachhaltiger Open-Source-Lösungen fördert, und eine ebenenübergreifende Zusammenarbeit ermöglicht.
Weitere Informationen zu openCode, können Sie auf der openCode-Webseite nachlesen.
Die Plattform openCode basiert auf folgenden Diensten:
- Die Gitlab-Instanz von openCode stellt das Herzstück von openCode dar. Unsere GitLab-Instanz ermöglicht es Entwickler:innen, ihren Code zu speichern, zu verwalten und gemeinsam daran zu arbeiten.
- Das openCode-Softwareverzeichnis bietet einen Überblick über die Software, welche auf openCode bzw. auf der GitLab-Instanz von openCode veröffentlich wird.
Was finden Sie in diesem Guide?
Dieser Guide stellt Ihne einige Informationen zur Verfügung, wie Sie GitLab für Ihre Open-Source-Projekte nutzen können und ihre Software im Softwareverzeichnis von openCode veröffentlichen können.
Der Guide orientiert sich vom Aufbau an den Schritten, die für Sie notwendig sind um damit anfangen zu können unsere Plattform für ihre Belange einsetzen zu können. Um einen kurzen Überblick über diese Themen zu gewinnen, folgt an dieser Stelle eine kurze Erklärung zu den Inhalten der einzelnen Unterseiten dieses Guides.
Im Anschluss an diese Übersicht finden Sie einige Worterklärungen, welche wichtig für die Nutzung von Open Code sind (auf dieser Seite werden Begriffe, welche im Glossar erläutert werden, bei ihrer ersten Nutzung hervorgehoben).
Account und Gruppen
Auf der Seite Account und Gruppen finden Sie Hinweise dazu, wie Sie sich einen Nutzer-Account erstellen können, welcher Ihnen einen Zugang zu allen von uns angebotenen Diensten bietet. Darüber hinaus finden Sie auf der Seite die Informationen dazu, wie Sie Gruppen erstellen können, damit Sie sich mit anderen Nutzer:innen austauschen können.
Projekte
Auf der Seite Projekte finden Sie Hinweise dazu, wie Sie auf unserer GitLab-Instanz eigene Projekte erstellen können. Projekte stellen Repositories für andere Nutzer:innen zur Verfügung, damit diese sich an ihren Projekten beteiligen können.
Es gibt folgende Möglichkeiten, wie auf ein Repository von anderen Nutzer:innen zugegriffen werden kann.
- Es können eigene Änderungen an Projekten (Commits) vorgenommen werden.
- Sie können ein Repository kopieren (klonen oder engl. clone) und Änderungen zu dem Projekt anfragen (pull-request) oder beitragen (push-request).
- Repositories können für eine eigenen Nutzung kopiert werden (ein kopiertes Repository wird dabei als ein Fork bezeichnet).
- Falls bei der Nutzung einer Software Fehler auftreten, können in einem Repository Fehler (oft auch als engl. bugs bezeichnet) gemeldet werden.
- Sie können in einem Repository neue Branches anlegen.
Softwareverzeichnis
In unsere Hilfeseite zum Softwareverzeichnis finden Sie Hilfestellungen zur Nutzung unseres Softwareverzeichnis und Anleitungen, wie Sie ihre Software in unser Verzeichnis aufnehmen lassen können und welche Anforderungen es bei einer Veröffentlichung gibt.
Beispiele aus der Community
Auf der Seite Beispiele aus der Community finden Sie eine Zusammenstellung verschiedener Beispiele aus unserer Community. Diese Beispiele verweisen auf Projekte auf unserer GitLab Instanz und eignen sich so sehr gut zur Illustration einiger häufigen Einsatzszenarien unserer Plattform.
Erläuterung wichtiger Begriffe
Was ist ein Repository?
Ein Repository (häufig als "Repo" abgekürzt) stellt einen zentralen Aufbewahrungsort für alle Projektdateien und deren Entwicklungsverlauf dar.
Was ein Repository besonders macht, ist, dass es nicht nur die aktuellen Dateien speichert, sondern auch jede Änderung der in ihm gespeicherten Dateien. Das bedeutet, Sie können jederzeit zu einer älteren Version deines Projekts zurückkehren oder sehen, wer was geändert hat und wann.
Was ist ein Commit?
Ein Commit (engl. commit = sichern oder übertragen) bedeutet, dass Sie Ihre Änderungen im Repository speicheren und sie mit einer Nachricht versehen, die erklärt, was genau sie an dem Programm-Code verändert haben.
So können Sie und andere Nutzer:innen genau nachvollziehen, welche Änderungen gemacht wurden und warum. Dies bedeutet, dass Sie transparent einsehen können, wer sich an Ihren Projekten beteiligt und mit anderen Nutzer:innen in Interaktion zu Ihren jeweiligen Beiträgen kommen können.
Was bedeutet es ein Repository zu klonen?
Ein Repository zu klonen bedeutet, eine vollständige Kopie eines bestehenden Repositories auf Ihrem eigenen Computer zu erstellen.
Dieser Vorgang ermöglicht es Ihnen, lokal an einem Projekt zu arbeiten, das auf einem entfernten Server (zum Beispiel auf unserer GitLab-Instanz) gespeichert ist.
Was ist ein Branch?
Über Branches (engl. branch = Ast oder Zweig) werden verschiedene Entwicklungsstränge repräsentiert.
In einem Repository gibt es oft einen Haupt-Branch (meistens main genannt), der den stabilen Code enthält. Wenn Sie eine neue Funktion entwickeln oder ein Problem beheben möchtest, können Sie einen neuen Branch erstellen. Auf diesem Branch können Sie Änderungen vornehmen und experimentieren, ohne den Hauptcode zu beeinflussen. Wenn Sie mit Änderungen zufrieden sind und Sie in den Hauptcode integrieren möchten, können Sie den Branch wieder mit dem Haupt-Branch zusammenführen (mergen).
Was ist ein Push-Request?
Ein pull-request stellt eine Anfrage eines eigenen Commits auf ein Repository dar (engl. to push = schieben oder drücken, request = Anfrage) .
Was ist ein Pull-Request?
Ein pull-request stellt eine Anfrage auf die Commits dar, welche von anderen Nutzer:innen an einem Repository vorgenommen worden sind (engl. to pull = herunterziehen, request = Anfrage).
Was ist ein Fork?
Ein Fork stellt eine Kopie eines anderen Repositories dar, in welchem die gesamte Historie des ursprünglichen Repository erhalten bleibt.
Sie können an einem Fork eigene Änderungen vornehmen, welche gänzlich unabhängig von der Orginalversion sind. Sie können natürlich zu einem späteren Zeitpunkt auch wieder mit dem ursprünglichen Repository zusammenführen. Den Vorgang um eine solche Zusammenführung bei einem anderen Repository anzufragen, wird als merge-request bezeichnet. (engl. to merge = zusammenführen, request = Anfrage) bezeichnet.
Was ist ein Merge-Request?
Ein merge-request bezeichnet den Vorgang um eine Zusammenführung eines eigenen Repository mit einem anderen Repository anzufragen (engl. "to merge" = "zusammenführen", "request" = "Anfrage").
Created: January 15, 2025