CiteScan / scripts /push_to_hf.sh
aivolcano
FastAPI + Gradio + src
3d83b62
#!/usr/bin/env bash
# 把当前最新代码推到 Hugging Face Space(先提交到 main,再更新 hf-main 并推送)
set -e
cd "$(dirname "$0")/.."
echo "=== 1. 检查未提交的修改 ==="
if ! git diff --quiet || ! git diff --cached --quiet || [ -n "$(git status --porcelain)" ]; then
echo "当前有未提交的修改。请先提交到 main:"
echo " git add -A"
echo " git commit -m '你的提交说明'"
echo " git push origin main # 可选:同步到 GitHub"
echo ""
read -p "是否现在执行 git add -A && git commit?(y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
read -p "请输入 commit message: " msg
git add -A
git commit -m "${msg:-Update for HF Spaces}"
else
echo "已取消。请先提交后再运行此脚本。"
exit 1
fi
fi
echo ""
echo "=== 2. 用当前 main 重建 hf-main(并移除二进制文件)==="
# 备份当前 hf-main 的 ref(可选)
git branch -D hf-main 2>/dev/null || true
git checkout -b hf-main main
FILTER_BRANCH_SQUELCH_WARNING=1 git filter-branch -f --index-filter \
'git rm -q --cached --ignore-unmatch \
assets/logo_nus.png \
assets/logo_sjtu.png \
assets/screenshot_performance.png \
assets/screenshot_performance_zh.png \
assets/screenshot_semantic_scholar.png' -- hf-main
git checkout main
echo ""
echo "=== 3. 推送到 Hugging Face ==="
git push hf hf-main:main --force
echo ""
echo "完成。请到 https://huggingface.co/spaces/yancan/CiteScan 查看构建状态。"