Link zu diesen Folien

Link zum GIT Projekt

Womit wir uns beschäftigen werden

Gestern:

  • Grundlagen
  • ChatGPT & Co
  • Compiler Explorer

Heute:

  • GIT
  • Visual Studio Code
  • JupyterLab / JupyterHub
  • Terminal / Konsole

GIT

  • das wichtigste Werkzeug in der Softwareentwicklung
  • git ist ein Kommandozeilen-Tool
  • erfunden 2005 von Linus Torvalds (Linux)
  • verteiltes Versionskontrollsystem
    • Änderungen verfolgen und rückgängig machen
    • Konflikte in verteilten Projekten auflösen

github und gitlab sind (zentrale) WEB-Plattformen die sogenannte Repositories (Verzeichnis eines gesamten Projekt-Codes) beinhalten.

Clonen eines Repositories

Repository: https://git.ide3.de/bk/programmierung/dice.git

git clone https://git.ide3.de/bk/programmierung/dice.git

Compilieren und Starten

GIT Login

Fork eines Projektes

Projekt auswählen

Fork eines Projektes

Erstellt eine Kopie (aktueller Zustand) eines anderen Projektes

Clonen des eigenen Repositories

Repository: https://git.ide3.de/bk/programmierung/dice.git

Modifizieren auf dem gitlab Server

gitlab - Open in Web IDE

IDE Integrated Development Environment.

In gitlab ist der Editor Visual Studio Code integriert!

Diese IDE können Sie auch lokal auf Ihrem PC (Windows, Mac, Linux) installieren. https://code.visualstudio.com/

GIT Branches

  • sind eigenständige Entwicklungszweige innerhalb eines Git-Repositories, die es ermöglichen, parallel an verschiedenen Features oder Versionen zu arbeiten.
  • Jeder Branch hat seine eigene Commit-Historie, wodurch verschiedene Entwicklungsstränge isoliert bleiben.
  • Der Hauptbranch eines Repositories ist der„main“ Branch, von dem aus neue Branches erstellt werden.
  • Neue Branches können mit dem Befehl git branch <branchname> erstellt werden.
  • Das Wechseln zwischen Branches erfolgt mit git checkout <branchname> oder git switch <branchname>.
  • Branches können jederzeit zusammengeführt (merged) werden, um Änderungen zu integrieren.
  • Branching ermöglicht sicheres Experimentieren, ohne das Hauptprojekt zu gefährden

GIT Merge

  • Git Merge ist ein Befehl, um die Änderungen aus einem Branch in einen anderen Branch zu integrieren.
  • Es kombiniert die Historien zweier Branches, indem es die Änderungen des Zielbranches in den aktuellen Branch zusammenführt.
  • Bei einem Fast-Forward Merge werden die Commits einfach verschoben, wenn keine neuen Commits im Zielbranch vorliegen.
  • Ein Three-Way Merge wird verwendet, wenn beide Branches Änderungen haben und Git einen gemeinsamen Vorfahren findet, um die Änderungen zu kombinieren.
  • Im Falle von Merge-Konflikten müssen diese manuell gelöst werden, bevor die Zusammenführung abgeschlossen werden kann.
  • Der Merge erstellt normalerweise einen neuen Merge-Commit, der die Zusammenführung dokumentiert.

JupyterLab

Wer keine Linux Konsole hat, kann auch auf unseren JupyterLab Server verwenden https://jh.ide3.de/

Aufgaben Tag 2

  1. Machen Sie sich mit gitlab (https://git.ide3.de) vertraut
  2. Forken Sie eines unserer Beispiel-Projekte
  3. Erstellen Sie einen Clone Ihres neuen Projektes auf Ihrem PC (oder Pool PC oder JupyterLab)
  4. Verändern Sie den Quell-Code
  5. Transportieren Sie den veränderten Quell-Code in ihr gitlab Repository zurück

Aufgaben Tag 2

  1. Versuchen Sie herauszufinden, wie man Veränderungen am Quell-Code in gitlab
    • sichtbar machen kann
    • kommentieren kann
    • rückgängig machen kann (das ist nicht einfach!)
  2. Für Fortgeschrittene:
    • Geben Sie Ihr Repository für Andere frei
    • Verändern Sie Ihr Projekt