zum Inhalt springen

Integration von git in Redmine

Bei der Nutzung von Redmine kann das Versionskontrollsystem git auf besonders einfache Weise genutzt werden. Durch die enge Verzahnung von git und Redmine gibt es zwei wesentliche Vorteile:

  • Über die Mitgliedschaft in dem Redmine-Projekt bestimmt der Projektmanager gleichzeitig, wer Zugriff auf das git-Repository erhält. Der Zugriff auf das Projekt-eigene git-Repository ist also genau auf die gegenwärtigen Projektmitglieder beschränkt und endet mit dem Ausscheiden aus dem Projekt.
  • Über die Weboberfläche von Redmine können die zugehörigen Revisionen des git-Repositorys angezeigt werden. Dabei können die jeweils vorgenommenen Änderungen übersichtlich dargestellt werden (beispielsweise als Diffs in zwei Spalten nebeneinander). Auch die parallel verlaufende Stränge der Softwareentwicklung (und deren Zusammenführung) werden grafisch aufbereitet angezeigt.

Einfaches Beispiel für die Nutzung von git

Analog zu dem Beispiel in der allgemeinen Anleitung zu git soll hier gezeigt werden, wie ein git-Repository, das mit einem Redmine-Projekt verknüpft ist, mittels git-Kommandozeilenbefehlen verwendet werden kann. Natürlich können stattdessen auch graphische Oberflächen (z.B. IDEs) verwendet werden, die eine Git-Funktionalität bieten.

In dem Beispiel wird der Name superprojekt verwendet. Anstelle von superprojekt wäre natürlich die Kennung (Kleinbuchstaben, ohne Leerzeichen) des tatsächlichen Redmine-Projekts zu verwenden.

  1. git clone https://redmine.uni-koeln.de/git/superprojekt 

    Hierbei werden Benutzername und Passwort abgefragt. Bei Angehörigen der Uni Köln sind dies die Daten des Studierenden- oder Personal-Accounts.

  2. cd superprojekt

  3. echo irgendwas > foobar

  4. git add foobar

  5. git commit -m "Kein Kommentar"

  6. git push origin master 

    Auch in diesem Schritt müssen wieder Benutzername und Passwort eingegeben werden.

Dieses Beispiel ist bewusst primitiv gehalten und zeigt nicht die zahlreichen Vorzüge, die git bietet.

Spezialitäten bei der Nutzung von git

Vor dem ersten Commit

In der Weboberfläche von Redmine erscheint die Meldung Fehler 404. Eintrag und/oder Revision existiert nicht im Projektarchiv, wenn zuvor noch kein Commit stattgefunden hat. Dies braucht Sie nicht weiter zu beunruhigen – nachdem der erste Commit durchgeführt und per Push zurück in das Repository geflossen ist, wird die Historie des git-Projektarchivs korrekt angezeigt.

Mehr als ein git-Repository

Bei git kann, im Gegensatz etwa zu Subversion, immer nur der komplette Baum eines Projekts angefordert werden. Daher ist es nicht möglich, nur mit Teilen des Projektarchivs zu arbeiten. Wenn zu erwarten ist, dass bestimmte Nutzer nur Zugriff auf Teile des Repositorys erhalten sollen oder aus Platzgründen nicht den gesamten Code herunterladen möchten, können zur besseren Aufteilung in einem Projekt auch mehrere git-Repositorys angelegt werden. Legen Sie dazu ein Unterprojekt im bestehenden Redmine-Projekt an (auf der Übersichtsseite oben rechts) und benennen dieses so, dass die Kennung des Unterprojekts einen Rückschluss auf das übergeordnete Projekt zulässt. Beispielsweise beim Projekt superprojekt könnten zwei Unterprojekte super-toll und super-mega heißen. Wenn Sie die Funktion Benutzer erben verwenden, können alle Benutzer des übergeordneten Projekts auch auf das Unterprojekt zugreifen. Ausnahmen hiervon und zusätzliche Benutzer, die im Unterprojekt – aber nicht im Oberprojekt – zugelassen sind, können Sie später ebenfalls definieren.

Um für ein solches Unterprojekt dann auch ein git-Repository eingerichtet zu bekommen, melden Sie sich bitte unter Angabe der Kennung des Unterprojekts per E-Mail bei redmine-admin(at)uni-koeln.de

Der Zugriff auf das Repository des Unterprojekts erfolgt allein mit der Kennung des Unterprojekts (also ohne den Namen des übergeordneten Projekts). Bei dem zuvor genannten Unterprojekt super-toll unterhalb von superprojekt erfolgt der git-Zugriff also über https://redmine.uni-koeln.de/git/super-toll und nicht etwa über https://redmine.uni-koeln.de/git/superprojekt/super-toll o.ä.

Ticketstatus ändern aus git heraus

Über die Commit-Message können direkt aus git (ohne Verwendung der Weboberfläche) z.B. Tickets geschlossen werden.

Kontakt
Bei Fragen und für eine individuelle Beratung wenden Sie sich bitte an den RRZK-Helpdesk