fix: bad revision 'ORIG_HEAD' again

This commit is contained in:
秋云
2025-05-18 13:19:00 +08:00
parent febd26f406
commit afc07001b1

View File

@@ -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 .