content

github

GitHub ist eine Online-Plattform für Softwareentwicklung und Versionsverwaltung, die auf dem Versionskontrollsystem Git basiert.

Versionsverwaltung mit Git

  • Änderungen im Quellcode nachvollziehen

  • Alte Versionen wiederherstellen

  • Zusammenarbeit ohne Konflikte

Remote-Repositories

  • Projekte können online gespeichert werden

  • Zugriff von überall möglich

  • Ideal zur Sicherung und Zusammenarbeit

Kollaboration im Team

  • Mehrere Entwickler arbeiten gleichzeitig am gleichen Projekt

  • Pull Requests: Änderungen vorschlagen und diskutieren

  • Code Reviews, Issues (Fehlerberichte, Aufgaben), Projekt-Boards

Open Source Community

  • Millionen von Projekten öffentlich zugänglich

  • Möglichkeit, zu anderen Projekten beizutragen

CI/CD und DevOps

  • Mit GitHub Actions können Tests, Builds und Deployments automatisiert werden

Dokumentation & Wiki

  • Markdown-Dateien (README.md) für Projektdokumentation

  • Projekt-Wikis für ausführlichere Infos

Git = Versionskontrollsystem (läuft lokal auf dem Rechner).

GitHub = Plattform, die Git-Repositories online hostet und zusätzliche Tools bereitstellt.

GitHub dashboard

Link:

https://github.com/

Es ist ein neuer Benutzer anzulegen - falls noch nicht vorhanden.

Ein GitHub Repository (oft kurz Repo) ist ein Speicherort für ein Softwareprojekt auf GitHub. Es enthält alle Dateien, den Quellcode, die Dokumentation und die gesamte Versionsgeschichte, die mit Git verwaltet wird.

001.png

Quellcode-Dateien

    1. B. .html, .css, .js, .php, .py, .java usw.

Versionskontrolle (Git-Historie)

  • Alle Commits (Änderungen) mit Datum, Autor und Beschreibung

  • Möglichkeit, ältere Versionen wiederherzustellen

Branches

  • Parallele Entwicklungszweige (z. B. main, dev, feature-x)

README-Datei

  • README.md in Markdown, beschreibt das Projekt

  • Wird automatisch auf der Startseite des Repos angezeigt

Issues & Pull Requests

  • Issues = Aufgaben oder Fehlerberichte

  • Pull Requests = Änderungsvorschläge von Mitwirkenden

Weitere Dateien

  • .gitignore → legt fest, welche Dateien nicht ins Repo sollen

  • LICENSE → Lizenzbedingungen (z. B. MIT, GPL)

  • CONTRIBUTING.md → wie Beiträge eingereicht werden können

Öffentliches repository (Public) Jeder kann das Repo sehen, klonen und oft auch forken

Privates repository (Private) Nur ausgewählte Personen haben Zugriff

GitHub einrichten

Installation unter Windows

https://git-scm.com/download/win

Bei der Installation am besten „Use Git from the Command Prompt“ aktivieren.

Überprüfen der Installation in der shell

git --version

Einmalig Name und E-Mail setzen (für Commits)

git config --global user.name "Thomas Griesmayer"
git config --global user.email "email@example.com"

SSH-Schlüssel erzeugen mit PowerShell oder Git Bash

ssh-keygen -t ed25519 -C "email@example.com"

Standardpfad: C:\Users\DEINNAME\.ssh\id_ed25519.pub

Installation unter Linux

sudo apt install git
git --version

Einmalig Name und E-Mail setzen (für Commits)

git config --global user.name "Thomas Griesmayer"
git config --global user.email "email@example.com"

SSH-Schlüssel erzeugen mit der shell

ssh-keygen -t ed25519 -C "email@example.com"
ls ~/.ssh/id_ed25519.pub

Schlüssel liegt in ~/.ssh/id_ed25519.pub.

Public key upload

002.png
003.png
003.png
004.png
005.png
006.png
007.png
008.png

First commit

010.png
011.png
012.png
013.png
014.png
015.png
016.png

Modify file

017.png
018.png
019.png
020.png
021.png

Clone repository

022.png
023.png
024.png
025.png
026.png

Konflikt

027.png

Ein Student:

  • cloned das Repository

  • ändert den Code

  • COMMIT

  • PUSH

Ich arbeit somit nicht mehr mit der aktuellen Version.

Ich:

  • ändere den Code

  • COMMIT

  • PUSH => FEHLER!!!

028.png
029.png

Es werden die beiden Versionen gemerged (gemischt!).

030.png

Ich öffne die gemergede Version und korrigiere diese.

031.png

Im Anschluss commite ich die Änderungen und pushe sie.