Files
Git-Schulung/reset-uebung.sh
T

63 lines
1.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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. ==="