GitLab für Texte

Axel Klinger

GitLab für Texte - Tutorial

Welche Texte werden hier betrachtet?

Hier nur ein paar Beispiele für Texte im Bereich Bildung und Wissenschaft. Weitere Gebiete, in denen mit Texten oder Projekten gearbeitet wird, sind natürlich ebenso denkbar ;-)

Schule

Studium

Wissenschaft

Was ist GitLab?

GitLab ist eine Webanwendung für die Versionsverwaltung von - ursprünglich - Software Projekten auf der Basis von Git. Wikipedia

Was hat das mit Bildung zu tun? Nicht jeder programmiert! Mit GitLab lassen sich auch Texte für Bildungsmaterialen, Studienarbeiten u.v.a.m. verwalten, gemeinsam bearbeiten und multimedial veröffentlichen - ohne Kosten, ohne Installation, ohne Infrastruktur!

GitLab bietet

Mit einem kostenlosen Account auf GitLab lassen sich Projekte in Dateiverzeichnissen online verwalten. Vergleichbar mit einer Dropbox, aber mit vielen weiteren Funktionen, wie Versionierung, Automatisierung und Benutzer- und Rechteverwaltung.

Und so sieht das ganze in der Praxis aus …

Beispiele

Ein erstes Projekt - Mein erster Kurs

Mit den folgenden Schritten erstellt man einen Kurs in GitLab.

Und hier das ganze nochmal im Video …

Ein zweites Projekt aus Vorlage - Mein erster OER Kurs

Vorteile

Vorbereitung

Meine Vorbereitung für einen Kurs:

Projekt klonen - ein Template verwenden

  1. neues Projekt erstellen -> + -> New Project -> Import project -> Repo by URL
  1. Metadaten mit Generator erzeugen und kopieren
  2. Metadaten in metadata.yml einfügen
  3. course.md bearbeiten mit Markdown

Nach dem Speichern (Commit changes) dauert es beim ersten mal ca. 15min, bis die generierte Seite unter SETTINGS -> PAGES verfügbar ist (solange gibt es einen 404). Weitere Änderungen stehen i.d.R. nach <1min bereit.

  1. Adressen der Ausgabedateien in README anpassen mit SETTINGS -> PAGES -> Your pages are served under
  2. Seite aufrufen von README aus

Und hier das ganze nochmal im Video …

… und hier das Ergebnis …

Die Oberfläche von GitLab

Video zu

Zusammenarbeiten mit GitLab

Video zu

Effizienter offline arbeiten

Offline arbeiten hat einige Vorteile

Video mit Atom mehr Komfort für die Arbeit mir GitLab und Markdown

Der Nachteil ist

[Video Konflikt durch parallele Arbeit auf Server]

Grundsätzlich kann jeder Editor für die Bearbeitung von Markdown verwendet werden. Im folgenden wird ein mögliches Szenario anhand des Editors Atom von https://atom.io gezeigt.

Atom

Der Editor bietet eine gute Unterstützung von Markdown, erweiterbar durch einige Plaugins, und eine gute Anbindung an GitHub/GitLab.

Installation

Ein paar Tastenkombinationen vorab

Funktion Windows Linux Mac
Projekt klonen ALT+G SHIFT+0
Projektstruktur ein/ausblenden STRG+K STRG+B
Git-Ansicht ein/ausblenden STRG+SHIFT+9
Vollbildanzeige F11
Markdown Preview ein/ausschalten STRG+SHIFT+M

Tastenkombinationen können auch individuell angepasst werden über File -> Settings -> Keybindings und den Aufruf der Datei “your keymap file”.

ANHANG

Welche Formate haben die Texte?

Warum Versionskontrolle für Texte

Als Beispiel nehmen wir eine Studienarbeit mit ca. 50 Seiten, die in Word - inklusive der Bilder - eine Größe von etwa 10 MB hat. Jedes Mal, wenn wir sie unter einer neuen Version speichern, kommen weitere 10+ MB hinzu, auch wenn nur wenig geändert wurde.

Die gleiche Datei (das GitLab Projekt) hat in diesem Fall in Markdown eine Größe ca. 3 MB, da der größte Teil in Word die Microsoft eigenen Tags im Dokument sind und hier nur der reine Inhalt gespeichert wird. Wenn wir in GitLab eine Änderung einfügen, wird hier nur die Änderung mit wenigen KB als Version gespeichert. Es werden nicht alle enthaltenen Bilder und das ganze Dokument jedes mal wieder neu gespeichert.

Weitere Vorteile sind u.a.

Das Format Markdown

Übersicht der Elemente

Effizienter offline arbeiten

Video zur Offline-Arbeit mit Atom

Konflikte Lösen!

TODO !!!

Grundlagen von Git

Die Elemente

Die Funktionen

Die folgende Auflistung bekommt man mit dem Aufruf von git ohne Parameter

start a working area (see also: git help tutorial)
   clone      Clone a repository into a new directory
   init       Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)
   add        Add file contents to the index
   mv         Move or rename a file, a directory, or a symlink
   reset      Reset current HEAD to the specified state
   rm         Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)
   bisect     Use binary search to find the commit that introduced a bug
   grep       Print lines matching a pattern
   log        Show commit logs
   show       Show various types of objects
   status     Show the working tree status

grow, mark and tweak your common history
   branch     List, create, or delete branches
   checkout   Switch branches or restore working tree files
   commit     Record changes to the repository
   diff       Show changes between commits, commit and working tree, etc
   merge      Join two or more development histories together
   rebase     Reapply commits on top of another base tip
   tag        Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)
   fetch      Download objects and refs from another repository
   pull       Fetch from and integrate with another repository or a local branch
   push       Update remote refs along with associated objects

Hinweis zur Nachnutzung

Dieses Werk und dessen Inhalte sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “GitLab für Texte” von Axel Klinger, Lizenz: CC BY 4.0. Die Quellen dieses Werks sind verfügbar auf GitLab.