Fix: git_dirty_check bricht nicht mehr mit rc=2 ab
Auf Produktivservern gibt es fast immer kleine Änderungen (App-generierte Dateien, Setup-Änderungen). Statt Abbruch: tracked Dateien via git reset --hard zurücksetzen, untracked Nicht-Systemdateien via git clean entfernen. .env, storage/ und node_modules/ werden dabei bewusst ausgespart. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main v1.1.272
parent
2688b2528b
commit
880b99f1e0
|
|
@ -71,13 +71,13 @@ git_safe(){
|
|||
}
|
||||
|
||||
git_dirty_check(){
|
||||
if [[ "$ALLOW_DIRTY" != "1" ]]; then
|
||||
local dirty
|
||||
dirty="$(as_app "git -C ${APP_DIR} status --porcelain")"
|
||||
if [[ -n "$dirty" ]]; then
|
||||
echo "[!] Arbeitsbaum hat uncommitted Änderungen. Abbruch (ALLOW_DIRTY=1 zum Überschreiben)."
|
||||
exit 2
|
||||
fi
|
||||
local dirty
|
||||
dirty="$(as_app "git -C ${APP_DIR} status --porcelain" 2>/dev/null || true)"
|
||||
if [[ -n "$dirty" ]]; then
|
||||
echo "[!] Uncommitted Änderungen gefunden — tracked Dateien werden zurückgesetzt:"
|
||||
echo "$dirty"
|
||||
as_app "git -C ${APP_DIR} reset --hard HEAD" 2>/dev/null || true
|
||||
as_app "git -C ${APP_DIR} clean -fd --exclude='.env' --exclude='storage/' --exclude='node_modules/'" 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue