#!/bin/bash set -euo pipefail GIT_HOME="${HOME}/git" for dir in "${GIT_HOME}"/*/; do if [ -d "${dir}/.git" ]; then repo=$(basename "${dir}") remote=$(git -C "${dir}" remote get-url origin 2>/dev/null || true) case "${remote}" in *schmeeve*) ;; *) echo " Skipping (not your repo: ${remote})" continue ;; esac echo "=== ${repo} ===" cd "${dir}" if [ -n "$(git status --porcelain 2>/dev/null)" ]; then echo " Changes found → committing and pushing..." git commit -a -m "auto: $(date '+%Y-%m-%d %H:%M')" || echo " Nothing to commit (maybe no tracked files changed)" git push else echo " Clean." fi fi done