Spaces:
Running
Running
| echo "=== Hugging Face Git Push 问题诊断和修复脚本 ===" | |
| echo "" | |
| # 1. 检查当前远程仓库配置 | |
| echo "1. 检查当前远程仓库配置:" | |
| git remote -v | |
| echo "" | |
| # 2. 检查 SSH key 是否存在 | |
| echo "2. 检查 SSH key:" | |
| if [ -f ~/.ssh/id_rsa.pub ] || [ -f ~/.ssh/id_ed25519.pub ]; then | |
| echo "✓ 找到 SSH public key" | |
| if [ -f ~/.ssh/id_ed25519.pub ]; then | |
| echo "公钥内容 (id_ed25519.pub):" | |
| cat ~/.ssh/id_ed25519.pub | |
| elif [ -f ~/.ssh/id_rsa.pub ]; then | |
| echo "公钥内容 (id_rsa.pub):" | |
| cat ~/.ssh/id_rsa.pub | |
| fi | |
| else | |
| echo "✗ 未找到 SSH public key" | |
| fi | |
| echo "" | |
| # 3. 测试 SSH 连接 | |
| echo "3. 测试 SSH 连接到 Hugging Face:" | |
| ssh -T git@hf.co 2>&1 | |
| echo "" | |
| # 4. 检查 SSH 配置 | |
| echo "4. 检查 ~/.ssh/config 配置:" | |
| if [ -f ~/.ssh/config ]; then | |
| cat ~/.ssh/config | |
| else | |
| echo "~/.ssh/config 文件不存在" | |
| fi | |
| echo "" | |
| # 5. 提供解决方案 | |
| echo "=== 解决方案 ===" | |
| echo "" | |
| echo "如果 SSH 连接失败,有以下几种解决方案:" | |
| echo "" | |
| echo "方案 1: 切换到 HTTPS(推荐,最简单)" | |
| echo " 运行以下命令将远程仓库从 SSH 切换到 HTTPS:" | |
| echo " git remote set-url origin https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME" | |
| echo "" | |
| echo "方案 2: 配置 SSH(如果必须使用 SSH)" | |
| echo " 1. 确保 SSH key 已添加到 Hugging Face 账户" | |
| echo " 2. 创建或编辑 ~/.ssh/config 文件,添加以下内容:" | |
| echo " Host hf.co" | |
| echo " HostName hf.co" | |
| echo " User git" | |
| echo " Port 22" | |
| echo " IdentityFile ~/.ssh/id_ed25519" | |
| echo " 3. 设置正确的权限:" | |
| echo " chmod 600 ~/.ssh/config" | |
| echo "" | |
| echo "方案 3: 使用 SSH over HTTPS 端口(如果端口 22 被阻止)" | |
| echo " 在 ~/.ssh/config 中添加:" | |
| echo " Host hf.co" | |
| echo " HostName hf.co" | |
| echo " User git" | |
| echo " Port 443" | |
| echo " IdentityFile ~/.ssh/id_ed25519" | |
| echo "" | |