#!/bin/bash cd "$(dirname "$0")" LOGFILE="archiv.log" log() { local TIMESTAMP TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S') echo "[$TIMESTAMP] $1" | tee -a "$LOGFILE" } log "🔄 Starte Wiederherstellung von Archiv-Dateien..." # Alle geänderten oder gelöschten Dateien (im Arbeitsverzeichnis oder Index) changed_files=$(git diff --name-only Archiv) staged_files=$(git diff --cached --name-only Archiv) all_files=$(echo -e "$changed_files\n$staged_files" | sort -u) if [[ -z "$all_files" ]]; then log "ℹ️ Keine Änderungen an Archiv-Dateien gefunden." else for file in $all_files; do if [[ ! -f "$file" ]]; then # Datei wurde gelöscht -> Wiederherstellen log "⏪ Stelle gelöschte Datei '$file' wieder her" git restore --staged "$file" git restore "$file" else # Datei existiert (modifiziert) -> zurücksetzen log "⏪ Setze geänderte Datei '$file' zurück" git restore --staged "$file" git restore "$file" fi done log "✅ Alle Änderungen an Archiv-Dateien wurden rückgängig gemacht." fi