bash di sync + git add

This commit is contained in:
2025-10-12 20:11:47 +02:00
parent 1cf78e4be5
commit 3288b60385

View File

@@ -14,7 +14,7 @@ LOCAL_DST="/home/alex/devel/matlab-ase"
# Filtri: include directory (*/), include solo *.m, esclude *mcrCache*, esclude tutto il resto (*) # Filtri: include directory (*/), include solo *.m, esclude *mcrCache*, esclude tutto il resto (*)
echo "Inizio sincronizzazione da ${REMOTE_HOST}..." echo "Inizio sincronizzazione da ${REMOTE_HOST}..."
rsync -avz --delete -e "ssh -p ${REMOTE_PORT}" \ rsync -avzm --delete -e "ssh -p ${REMOTE_PORT}" \
--include='*/' \ --include='*/' \
--include='*.m' \ --include='*.m' \
--exclude='*' \ --exclude='*' \
@@ -32,11 +32,11 @@ fi
SYNC_DATE=$(date +"%Y-%m-%d %H:%M:%S") SYNC_DATE=$(date +"%Y-%m-%d %H:%M:%S")
COMMIT_MSG="Sync from remote server: ${SYNC_DATE}" COMMIT_MSG="Sync from remote server: ${SYNC_DATE}"
# 4. Aggiungi tutte le modifiche (nuovi file, modificati, eliminati) all'area di staging # 4. Aggiungi SOLO i file .m modificati o nuovi all'area di staging
# Usiamo 'git add .' per nuovi/modificati e 'git add -u' per le eliminazioni/modifiche. echo "Aggiungo SOLO i file .m al Git staging area..."
# 'git add -A' (o 'git add --all') è la soluzione più semplice e completa.
echo "Aggiungo modifiche al Git staging area..." # Utilizza 'find' per trovare tutti i file .m in modo ricorsivo e li passa a 'git add'
git add -A "${LOCAL_DST}" find "${LOCAL_DST}" -type f -name "*.m" -print0 | xargs -0 git add
# 5. Esegui il commit con il messaggio datato # 5. Esegui il commit con il messaggio datato
echo "Eseguo il commit con messaggio: \"${COMMIT_MSG}\"" echo "Eseguo il commit con messaggio: \"${COMMIT_MSG}\""