33 lines
979 B
Bash
Executable File
33 lines
979 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd -- "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
cd "$PROJECT_ROOT"
|
|
|
|
HARD_RESET="${1:-}"
|
|
|
|
echo "[info] Stoppe und entferne Container, Netzwerke, Volumes"
|
|
"$SCRIPT_DIR/compose.sh" down -v --remove-orphans
|
|
|
|
echo "[info] Entferne ungenutzte lokale Images"
|
|
docker image prune -f >/dev/null 2>&1 || true
|
|
|
|
if [[ "$HARD_RESET" == "--hard" ]]; then
|
|
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
|
|
if git rev-parse --verify HEAD >/dev/null 2>&1; then
|
|
echo "[info] Git Hard Reset: stelle Dateien auf HEAD zurueck"
|
|
git restore --source=HEAD --staged --worktree .
|
|
else
|
|
echo "[warn] Git-Repo ohne Commit-Historie, Datei-Restore wird uebersprungen"
|
|
fi
|
|
git clean -fd
|
|
else
|
|
echo "[warn] Kein Git-Repo erkannt, --hard wird uebersprungen"
|
|
fi
|
|
fi
|
|
|
|
echo "[ok] Lab wurde zurueckgesetzt"
|
|
echo "[hint] Neu starten mit: ./scripts/bootstrap.sh"
|