chore: initial training material setup

This commit is contained in:
2026-05-12 20:34:39 +02:00
commit 2314a14916
20 changed files with 1865 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
#!/bin/bash
# Setzt Übungsordner zurück, die Teilnehmende während der Schulung angelegt haben.
# Führe dieses Skript aus dem Stammverzeichnis des Schulungs-Repos aus.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "=== Git-Schulung: Übungen zurücksetzen ==="
echo "Arbeitsverzeichnis: $SCRIPT_DIR"
echo ""
# Sicherheitsabfrage
read -rp "Alle Übungsordner (meine-notizen, branch-uebung, konflikt-uebung) löschen? [j/N] " antwort
if [[ "${antwort,,}" != "j" ]]; then
echo "Abgebrochen."
exit 0
fi
# Übungsordner entfernen (aus Sicherheit nur bekannte Namen)
UEBUNGSORDNER=("meine-notizen" "branch-uebung" "konflikt-uebung")
for ordner in "${UEBUNGSORDNER[@]}"; do
ziel="$SCRIPT_DIR/$ordner"
if [[ -d "$ziel" ]]; then
rm -rf "$ziel"
echo " ✓ Entfernt: $ordner"
else
echo " Nicht vorhanden: $ordner (übersprungen)"
fi
done
# konflikt-vorlage.txt zurücksetzen
VORLAGE="$SCRIPT_DIR/04-merge-und-konflikte/konflikt-vorlage.txt"
if [[ -f "$VORLAGE" ]]; then
cat > "$VORLAGE" <<'EOF'
Zeile 1: Diese Zeile wird nicht verändert.
Zeile 2: Diese Zeile wird auch nicht verändert.
Zeile 3: [HIER ÄNDERN] Diese Zeile wird in beiden Branches unterschiedlich verändert.
Zeile 4: Diese Zeile bleibt wieder gleich.
Zeile 5: Ende der Vorlage.
EOF
echo " ✓ konflikt-vorlage.txt zurückgesetzt"
fi
# Prüfen, ob das Schulungs-Repo selbst sauber ist
cd "$SCRIPT_DIR"
if git rev-parse --git-dir > /dev/null 2>&1; then
STATUS=$(git status --porcelain)
if [[ -n "$STATUS" ]]; then
echo ""
echo " ⚠ Das Schulungs-Repo hat ungespeicherte Änderungen:"
git status --short
echo ""
echo " Tipp: 'git restore .' setzt alle Änderungen zurück."
else
echo " ✓ Schulungs-Repo ist sauber"
fi
fi
echo ""
echo "=== Fertig! Das Repo ist bereit für die nächste Schulung. ==="