chore: 以本地为准,上传全部并替换 GitHub
This commit is contained in:
45
scripts/push-to-github.sh
Normal file
45
scripts/push-to-github.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
# 以本地为准:上传本地全部文件,强制替换 GitHub 上 v0/fnvtk-5efaab9c(不拉取、不改本地)
|
||||
# 在终端执行: bash scripts/push-to-github.sh
|
||||
|
||||
set -e
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
# 从卡若AI 账号与API索引 提取 GitHub Token
|
||||
TOKEN_FILE="$HOME/Documents/个人/卡若AI/01_卡资(金)/_团队成员/金盾/账号密码与资料管理/账号与API索引.md"
|
||||
if [ -f "$TOKEN_FILE" ]; then
|
||||
GITHUB_TOKEN=$(grep "Token.*ghp_" "$TOKEN_FILE" | sed -E "s/.*\`([^\`]+)\`.*/\1/")
|
||||
fi
|
||||
if [ -z "$GITHUB_TOKEN" ]; then
|
||||
echo "未找到 GitHub Token,使用 origin 推送(需已配置凭据)"
|
||||
PUSH_URL="origin"
|
||||
else
|
||||
PUSH_URL="https://${GITHUB_TOKEN}@github.com/fnvtk/users.git"
|
||||
echo "已从卡若AI 读取 Token"
|
||||
fi
|
||||
|
||||
echo "=== 1. 当前状态(本地分支) ==="
|
||||
git status
|
||||
echo ""
|
||||
|
||||
echo "=== 2. 添加本地全部文件 ==="
|
||||
git add -A
|
||||
git status
|
||||
echo ""
|
||||
|
||||
echo "=== 3. 提交(有变更才提交) ==="
|
||||
if git diff --cached --quiet; then
|
||||
echo "工作区无新变更,将直接以当前提交强制覆盖远程"
|
||||
else
|
||||
git commit -m "chore: 以本地为准,上传全部并替换 GitHub"
|
||||
echo "提交完成"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "=== 4. 强制推送到 GitHub,覆盖 v0/fnvtk-5efaab9c ==="
|
||||
# 当前分支(HEAD)覆盖远程 v0/fnvtk-5efaab9c,重叠处一律以本地为准
|
||||
git push --force "$PUSH_URL" HEAD:v0/fnvtk-5efaab9c
|
||||
echo ""
|
||||
|
||||
echo "=== 完成 ==="
|
||||
echo "GitHub 已与本地一致: https://github.com/fnvtk/users/tree/v0/fnvtk-5efaab9c"
|
||||
45
scripts/start.sh
Normal file
45
scripts/start.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
# 神射手 - 智能启动脚本(端口冲突检查 + 指定端口)
|
||||
# 端口: 3117(见 端口登记.md)
|
||||
# 用法: ./scripts/start.sh [--kill] # --kill 自动终止占用进程
|
||||
|
||||
set -e
|
||||
cd "$(dirname "$0")/.."
|
||||
PORT=3117
|
||||
AUTO_KILL=false
|
||||
[[ "$1" == "--kill" ]] && AUTO_KILL=true
|
||||
|
||||
# 检查端口是否被占用
|
||||
check_port() {
|
||||
if lsof -i :$PORT >/dev/null 2>&1; then
|
||||
echo "⚠️ 端口 $PORT 已被占用:"
|
||||
lsof -i :$PORT
|
||||
echo ""
|
||||
if $AUTO_KILL; then
|
||||
echo "正在终止占用进程..."
|
||||
lsof -ti :$PORT | xargs kill -9 2>/dev/null || true
|
||||
sleep 2
|
||||
else
|
||||
echo "解决方式:"
|
||||
echo " 1) 运行 ./scripts/start.sh --kill 自动终止后启动"
|
||||
echo " 2) 或手动执行: lsof -ti :$PORT | xargs kill -9"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
echo "=== 神射手 启动 ==="
|
||||
echo "端口: $PORT | 访问: http://localhost:$PORT"
|
||||
echo ""
|
||||
|
||||
check_port
|
||||
|
||||
# 优先 pnpm,其次 npm
|
||||
if command -v pnpm &>/dev/null; then
|
||||
pnpm dev
|
||||
elif command -v npm &>/dev/null; then
|
||||
npm run dev
|
||||
else
|
||||
echo "❌ 未找到 pnpm 或 npm"
|
||||
exit 1
|
||||
fi
|
||||
37
scripts/sync-from-github.sh
Normal file
37
scripts/sync-from-github.sh
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
# 从 GitHub v0/fnvtk-5efaab9c 全量拉取到本地
|
||||
# 除 开发文档 外全部以 GitHub 为准,开发文档保留本地不替换
|
||||
|
||||
set -e
|
||||
cd "$(dirname "$0")/.."
|
||||
PROJECT_ROOT=$(pwd)
|
||||
BACKUP_DIR="/tmp/shengsheshou_devdocs_backup_$$"
|
||||
|
||||
echo "=== 1. 备份本地开发文档(不参与同步) ==="
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
cp -r "$PROJECT_ROOT/开发文档" "$BACKUP_DIR/" 2>/dev/null || mkdir -p "$BACKUP_DIR/开发文档"
|
||||
echo "已备份到 $BACKUP_DIR/开发文档"
|
||||
echo ""
|
||||
|
||||
echo "=== 2. 拉取 GitHub 最新 ==="
|
||||
git fetch origin 2>&1
|
||||
echo ""
|
||||
|
||||
echo "=== 3. 全量切换到 v0/fnvtk-5efaab9c(除开发文档外以 GitHub 为准) ==="
|
||||
git checkout v0/fnvtk-5efaab9c 2>/dev/null || git checkout -b v0/fnvtk-5efaab9c origin/v0/fnvtk-5efaab9c 2>/dev/null
|
||||
echo ""
|
||||
|
||||
echo "=== 4. 恢复本地开发文档(不替换) ==="
|
||||
rm -rf "$PROJECT_ROOT/开发文档"
|
||||
cp -r "$BACKUP_DIR/开发文档" "$PROJECT_ROOT/开发文档"
|
||||
rm -rf "$BACKUP_DIR"
|
||||
echo "开发文档已保留本地版本"
|
||||
echo ""
|
||||
|
||||
echo "=== 5. 安装依赖 ==="
|
||||
pnpm install 2>&1
|
||||
echo ""
|
||||
|
||||
echo "=== 6. 启动开发服务器 ==="
|
||||
echo "访问: http://localhost:3117"
|
||||
pnpm dev
|
||||
Reference in New Issue
Block a user