Предположим, находясь в рабочей области релизной версии требуется быстро отправить её в продакшен. При этом отдельные файлы/каталоги нужно оставить прежними(например конфиги с подключением к базам данных).
Создадим в рабочем каталоге файлик commit.sh с таким содержимым
#!/usr/bin/env bash SSH_PORT=22 SSH_USER=root SSH_SERVER=192.168.56.111 SSH_PATH=/var/www/user/public_html SSH_OG=username:groupname # recursive owner:group from chown -R SSH_PATH rsync -avzhP -e "ssh -p $SSH_PORT" --exclude=.vscode --exclude=inc/db.php --exclude=commit.sh ./ "$SSH_USER@$SSH_SERVER:$SSH_PATH" ssh -p $SSH_PORT "$SSH_USER@$SSH_SERVER" "chown -R $SSH_OG $SSH_PATH"
Для юзающих на винде vscode и Git bash терминал rsync там ставится так: