From ae2d3948c9c753a34d308c37cf8c6005b2986703 Mon Sep 17 00:00:00 2001 From: chenqi Date: Sat, 28 Feb 2026 16:35:53 +0800 Subject: [PATCH] fix: handle non-empty directory on first deploy --- spug/deploy-docker-compose.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/spug/deploy-docker-compose.sh b/spug/deploy-docker-compose.sh index c780960..51118b1 100644 --- a/spug/deploy-docker-compose.sh +++ b/spug/deploy-docker-compose.sh @@ -36,10 +36,21 @@ echo "========================================" # ================= Step 1: 更新代码 ================= echo "========== 更新代码 ==========" + +# 确保目录存在 +mkdir -p "${PROJECT_DIR}" cd "${PROJECT_DIR}" if [ ! -d ".git" ]; then echo "首次部署,克隆仓库..." + # 检查目录是否为空,非空则备份 + if [ "$(ls -A ${PROJECT_DIR} 2>/dev/null)" ]; then + echo "目录非空,备份现有文件..." + backup_dir="${PROJECT_DIR}_backup_$(date +%Y%m%d_%H%M%S)" + mkdir -p "${backup_dir}" + mv ${PROJECT_DIR}/* ${PROJECT_DIR}/.[!.]* ${backup_dir}/ 2>/dev/null || true + echo "已备份到:${backup_dir}" + fi git clone "${GIT_REPO}" . git checkout "${GIT_BRANCH}" else