#!/bin/bash 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 ""