From afc07001b1328f55ab3811634e8f4c6c6cdb05fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E4=BA=91?= Date: Sun, 18 May 2025 13:19:00 +0800 Subject: [PATCH] fix: bad revision 'ORIG_HEAD' again --- .github/workflows/jsonDataValidation.yml | 31 ++++++++++++++++++------ 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/.github/workflows/jsonDataValidation.yml b/.github/workflows/jsonDataValidation.yml index d9411342..fa91271e 100644 --- a/.github/workflows/jsonDataValidation.yml +++ b/.github/workflows/jsonDataValidation.yml @@ -385,18 +385,35 @@ jobs: else # 未关联PR或无法确定分支,直接提交到main分支 echo "未关联PR或无法确定分支,直接提交到main分支" - # 保存当前的修改 - TEMP_COMMIT=$(git rev-parse HEAD) - echo "当前提交: ${TEMP_COMMIT}" + + # 保存修改的文件列表 + MODIFIED_FILES=$(git status --porcelain | grep -E "^ M|^M" | awk '{print $2}') + echo "已修改的文件:" + echo "$MODIFIED_FILES" + + # 将修改的文件保存到临时目录 + TEMP_DIR=$(mktemp -d) + echo "创建临时目录: $TEMP_DIR" + for file in $MODIFIED_FILES; do + # 确保目标目录存在 + mkdir -p "$TEMP_DIR/$(dirname "$file")" + # 复制修改后的文件到临时目录 + cp "$file" "$TEMP_DIR/$file" + echo "已复制文件: $file" + done # 切换到main分支 git fetch upstream main git checkout -b temp-main upstream/main - # 应用修改到main分支 - # 方法1: 使用git diff和apply - git diff ${TEMP_COMMIT} --binary > /tmp/changes.patch - git apply /tmp/changes.patch + # 从临时目录复制修改后的文件到main分支 + for file in $MODIFIED_FILES; do + # 确保目标目录存在 + mkdir -p "$(dirname "$file")" + # 复制文件 + cp "$TEMP_DIR/$file" "$file" + echo "已应用修改到main分支: $file" + done # 提交并推送 git add .