GitCode gitee 上传超过10m大文件附件的方法

是的,GitCode 必须先登录才能进行推送(push)、拉取私有仓库(pull)等写操作(公开仓库的只读操作如 clone 无需登录)。命令行登录主要有两种方式,我会按「推荐程度」和「易用性」依次讲解,新手优先选第一种。

一、推荐方式:SSH 密钥登录(免密码,长期有效)

这是最常用、最安全的方式,配置一次后后续操作无需重复输入账号密码,步骤如下:

你现在正处于生成 SSH 密钥的关键步骤,我先解读你当前的输入,再一步步告诉你后续该怎么做,确保密钥配置能成功对接 GitCode。

一、当前步骤解读

你执行的 ssh-keygen -t ed25519 -C "你的邮箱" 命令已经触发了密钥生成流程:

  1. Enter file in which to save the key:你选择把密钥保存到 e:\download\gitssh(而非默认的 ~/.ssh/id_ed25519),这个路径是合法的,没问题;
  2. Enter passphrase:这是设置密钥的「保护密码」------
    • 留空(直接回车):后续使用密钥时无需输入密码,方便但如果别人拿到你的私钥文件会有风险;
    • 设置密码:每次用 SSH 操作 GitCode 时都要输这个密码,更安全。

二、接下来的操作步骤

步骤 1:完成密钥生成
  • 如果你想免密码使用:直接按回车(跳过 passphrase 设置),会再次提示确认 passphrase,再按一次回车即可;
  • 如果你想设置保护密码:输入自定义密码(输入时不会显示字符),按回车后再重复输入一次确认。

执行完后,会在 e:\download\ 生成两个文件:

  • gitssh:私钥文件(核心,切勿泄露给他人);
  • gitssh.pub:公钥文件(需要上传到 GitCode)。
步骤 2:查看并复制公钥内容

打开终端/命令行,执行以下命令查看公钥:

bash 复制代码
# Windows PowerShell 命令
cat "e:\download\gitssh.pub"

复制输出的全部内容 (以 ssh-ed25519 开头,你的邮箱结尾),比如:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKxxxxxxxxx your_email@example.com

步骤 3:将公钥添加到 GitCode
  1. 登录 GitCode 网页端 → 右上角头像 → 「设置」→ 「SSH 公钥」;
  2. 「标题」填自定义名称(如「Windows 电脑」);
  3. 「公钥内容」粘贴你刚才复制的内容;
  4. 点击「添加公钥」,验证账号密码后保存。
步骤 4:配置 Git 识别自定义私钥路径(关键!)

因为你把私钥存在了非默认路径,需要告诉 Git/SSH 去哪里找这个私钥,有两种方式:

方式 1:临时配置(每次终端重启需重新执行)
bash 复制代码
# Windows PowerShell
$env:GIT_SSH_COMMAND = "ssh -i e:\download\gitssh"
方式 2:永久配置(推荐)
  1. C:\Users\yang\.ssh\ 目录下新建 config 文件(无后缀名);

  2. 编辑 config 文件,写入以下内容:

    复制代码
    # GitCode 配置
    Host gitcode.com
        HostName gitcode.com
        User git
        IdentityFile e:\download\gitssh  # 你的私钥路径
        IdentitiesOnly yes

保存后,SSH 会自动识别 GitCode 的私钥路径。

步骤 5:验证 SSH 连接

执行以下命令验证是否配置成功:

bash 复制代码
ssh -T git@gitcode.com

如果输出 Welcome to GitCode, [你的用户名]!,说明配置成功;

如果提示权限错误,检查私钥路径是否正确,或私钥文件权限(Windows 无需调整权限,Linux/macOS 需 chmod 600 私钥路径)。

三、后续使用示例

配置完成后,克隆/推送仓库用 SSH 地址即可(无需输密码):

bash 复制代码
# 克隆仓库
git clone https://gitcode.com/你的用户名/你的仓库.git
# 推送代码
git push origin main

总结

  1. 密钥生成时自定义路径是合法的,核心是后续要配置 SSH 识别私钥路径
  2. 公钥(gitssh.pub)要上传到 GitCode,私钥(gitssh)需妥善保管,切勿泄露;
  3. 验证连接成功后,即可免密码用 SSH 操作 GitCode 仓库。
步骤 1:本地生成 SSH 密钥(首次配置)

打开终端/命令行,执行以下命令(替换为你的 GitCode 绑定邮箱):

bash 复制代码
# 生成 SSH 密钥(一路回车,无需设置密码,生成 id_rsa 私钥和 id_rsa.pub 公钥)
ssh-keygen -t ed25519 -C "your_email@example.com"

生成后,密钥文件默认存放在:

  • Windows:C:\Users\你的用户名\.ssh\
  • macOS/Linux:~/.ssh/
步骤 2:将公钥添加到 GitCode
  1. 查看公钥内容:

    bash 复制代码
    # Windows(PowerShell)
    cat ~/.ssh/id_rsa.pub
    # macOS/Linux
    cat ~/.ssh/id_rsa.pub
  2. 复制输出的全部内容(以 ssh-ed25519 开头,邮箱结尾);

  3. 登录 GitCode 网页端 → 右上角头像 → 「设置」→ 「SSH 公钥」→ 「添加公钥」;

  4. 粘贴公钥内容,自定义名称(如「本地电脑」),点击保存。

步骤 3:验证 SSH 连接(可选)
bash 复制代码
ssh -T git@gitcode.com

如果输出 Welcome to GitCode, [你的用户名]!,说明配置成功。

步骤 4:使用 SSH 地址操作仓库

克隆/推送时用 SSH 地址(而非 HTTPS),示例:

bash 复制代码
# 克隆仓库
git clone git@gitcode.com:你的用户名/你的仓库.git
# 推送代码(无需输密码)
git push origin main

二、push文件上传的时候:HTTPS 凭证登录(需输账号密码/令牌)

如果不想配置 SSH,可直接用 HTTPS 地址操作,但每次推送需验证身份(可缓存凭证)。

方式 个人访问令牌(推荐,替代密码)

这是 HTTPS 方式的安全替代方案,步骤:

  1. 登录 GitCode 网页端 → 右上角头像 → 「设置」→ 「访问令牌」→ 「生成令牌」;
  2. 勾选权限(至少勾选 repo 权限,用于仓库操作),设置有效期,点击生成;
  3. 复制生成的令牌(只显示一次,务必保存);
  4. 执行 git push 时,密码栏输入这个令牌(用户名仍填自己的)。
步骤 3:缓存 HTTPS 凭证(避免重复输入)
bash 复制代码
# 缓存凭证 1 小时(macOS/Linux)
git config --global credential.helper 'cache --timeout=3600'
# 永久缓存(Windows)
git config --global credential.helper wincred
# 永久缓存(macOS)
git config --global credential.helper osxkeychain

三、常见问题解决

  1. SSH 连接失败 :检查 .ssh 目录权限(Linux/macOS 需 chmod 700 ~/.sshchmod 600 ~/.ssh/id_rsa),或确认公钥未复制错误;
  2. 令牌失效:重新生成令牌,确保权限勾选正确;
  3. 忘记令牌:删除旧令牌,重新生成即可。

总结

  1. GitCode 写操作必须登录,只读公开仓库无需登录;
  2. 长期使用优先选 SSH 密钥登录 (免密码、安全),临时操作可用 HTTPS + 个人访问令牌
  3. HTTPS 方式的密码登录已逐步淘汰,推荐用「个人访问令牌」替代密码。

GitCode(码云 Gitee 的企业版/代码托管平台)的文件推送大小限制,核心分为单文件大小限制仓库总容量限制两类,且不同场景(普通推送/大文件方案)的规则不同,下面为你详细说明:

一、核心限制规则(官方标准)

1. 普通 Git 推送的单文件限制
  • 默认单文件上限100MB
    这是 GitCode 对普通 Git 提交的硬性限制------如果你的单个文件超过 100MB,直接用 git push 会被服务器拒绝(报错提示 remote: error: File xxx is 120 MB; this exceeds GitCode's file size limit of 100 MB)。
  • 仓库总容量
    个人版/免费版仓库总容量默认 10GB,企业版可根据套餐扩容(具体以 GitCode 后台套餐说明为准)。
2. 大文件解决方案(LFS)的限制

如果需要推送超过 100MB 的文件,必须使用 Git LFS(Large File Storage,大文件存储),GitCode 对 LFS 的限制:

  • 单 LFS 文件上限5GB(远高于普通 Git 推送);
  • LFS 存储流量:免费版每月有流量配额(通常 10GB 左右),超出后需升级套餐;
  • 启用方式:需要先在本地安装 Git LFS,再跟踪大文件(见下方操作示例)。

二、实用操作示例(处理大文件)

场景 1:推送 ≤100MB 的文件(普通方式)

直接按常规 Git 流程操作即可:

bash 复制代码
# 初始化/拉取仓库
git clone https://gitcode.com/你的用户名/你的仓库.git
cd 你的仓库

# 添加文件、提交、推送
git add 你的文件.txt  # 单个文件≤100MB
git commit -m "添加普通文件"
git push origin main
场景 2:推送 >100MB 的文件(使用 Git LFS)

步骤 1:安装 Git LFS(本地环境)

bash 复制代码
# Windows(用 scoop/choco)或 macOS(brew)/Linux(apt/yum)
# 以 Linux 为例:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs

# 初始化 LFS
git lfs install

步骤 2:跟踪大文件并推送

bash 复制代码
# 进入仓库目录
cd 你的仓库

# 跟踪指定类型的大文件(比如 .zip/.iso/.bin 等)
git lfs track "*.zip"  # 跟踪所有 zip 文件
git lfs track "large_file.dat"  # 跟踪单个大文件

# 必须将 .gitattributes 文件加入版本控制(LFS 依赖此文件)
git add .gitattributes
git add large_file.dat  # 这个文件可以>100MB(≤5GB)
git commit -m "添加 LFS 大文件"
git push origin main

三、注意事项

  1. 即使文件大小在限制内,也不建议用 Git 管理超大二进制文件(如几十 GB 的视频/数据集)------Git 是为文本代码设计的,二进制文件会让仓库体积暴增、克隆/拉取速度极慢;
  2. 若推送时提示"文件过大",先检查:① 单个文件是否超 100MB;② 是否忘记用 LFS 跟踪大文件;
  3. GitCode 企业版可联系管理员调整 LFS 配额或单文件限制,免费版无自定义调整权限。

总结

  1. GitCode 普通 Git 推送的单文件最大 100MB,仓库总容量免费版约 10GB;
  2. 超过 100MB 的文件需用 Git LFS,单 LFS 文件上限为 5GB(受流量配额限制);
  3. 非必要不建议用 Git/Git LFS 管理超大二进制文件,优先用对象存储(如阿里云 OSS、腾讯云 COS)存放。
bash 复制代码
# ===== 添加到分支并提交 =====
# 方法 A:先切换到目标分支(如果分支存在)
git checkout v2.7.0.post1
git add f:/downloads/flash_attn-2.7.0.post1+cu12torch2.4cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
git commit -m "Add flash-attn v2.7.0.post1 wheel"
git push origin v2.7.0.post1

# 方法 B:如果 v2.7.0.post1 是标签(tag),需要更新标签指向
# 先按原步骤提交到 main,然后:
git tag -f v2.7.0.post1  # 强制更新标签到最新提交
git push origin v2.7.0.post1 --force  # 强制推送标签
复制代码
#==== 对应的下载地址 ========
# https://gitcode.com/zhangfeng1133/flash-attention/tree/v2.7.0.post1/flash_attn-2.7.0.post1+cu12torch2.4cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
# https://gitcode.com/zhangfeng1133/flash-attention/raw/v2.7.0.post1/flash_attn-2.7.0.post1+cu12torch2.4cxx11abiFALSE-cp311-cp311-linux_x86_64.whl

https://gitcode.com/zhangfeng1133/flash-attention/releases/download/v2.7.0.post1/flash_attn-2.7.0.post1+cu12torch2.4cxx11abiFALSE-cp311-cp311-linux_x86_64.whl

gitee ,

我来搜索 Gitee 的附件大小限制。

根据搜索结果,Gitee 的 Release 附件大小限制是 100MB,即使是 GVP(Gitee 最有价值项目)也只有 200MB 的限额。150MB 的 whl 文件超过了普通用户的 100MB 限制。

Gitee 附件限制总结

类型 单文件限制 仓库总附件限制
社区版(普通用户) 100MB 1GB
GVP 项目(推荐项目) 200MB 5GB
企业版 100-300MB(根据套餐) 更大

你的 flash-attn whl 文件约 150MB,超过了普通用户的 100MB 限制,但可以通过以下方式解决:


方案 1:申请 GVP 项目(200MB 限额)

如果你的项目有影响力,可以申请成为 GVP(Gitee 最有价值项目)

  • 单文件限额提升到 200MB
  • 总附件限额提升到 5GB

申请地址:https://gitee.com/gvp


方案 2:分卷压缩(推荐,无需申请)

将 150MB 的 whl 文件分割成多个小于 100MB 的文件:

bash 复制代码
# 将 whl 文件分割成 90MB 的块
split -b 90M flash_attn-2.7.0.post1+cu12torch2.4cxx11abiFALSE-cp311-cp311-linux_x86_64.whl flash_attn_part_

# 会得到两个文件:
# flash_attn_part_aa (90MB)
# flash_attn_part_ab (60MB)

上传到 Gitee Release,然后在 Dockerfile 中合并:

dockerfile 复制代码
# 从 Gitee Release 下载分卷并合并
RUN wget https://gitee.com/zhangfeng1133/flash-attention/releases/download/v2.7.0.post1/flash_attn_part_aa -O /tmp/flash_attn_part_aa && \
    wget https://gitee.com/zhangfeng1133/flash-attention/releases/download/v2.7.0.post1/flash_attn_part_ab -O /tmp/flash_attn_part_ab && \
    cat /tmp/flash_attn_part_* > /tmp/flash_attn.whl && \
    pip install /tmp/flash_attn.whl --no-build-isolation && \
    rm -f /tmp/flash_attn_part_* /tmp/flash_attn.whl

方案 3:使用 Git LFS(不推荐 Gitee)

Gitee 的 Git LFS 仅对企业付费用户开放,个人用户无法使用。


方案 4:使用国内对象存储(最稳定)

使用阿里云 OSS、腾讯云 COS 或七牛云等:

dockerfile 复制代码
# 从阿里云 OSS 下载(推荐)
RUN wget https://your-bucket.oss-cn-beijing.aliyuncs.com/flash-attn/flash_attn-2.7.0.post1+cu12torch2.4cxx11abiFALSE-cp311-cp311-linux_x86_64.whl \
    -O /tmp/flash_attn.whl && \
    pip install /tmp/flash_attn.whl --no-build-isolation

方案 5:使用 Hugging Face 国内镜像

Hugging Face 有国内镜像(hf-mirror.com),可以上传 whl 文件:

dockerfile 复制代码
# 从 Hugging Face 镜像下载
RUN wget https://hf-mirror.com/your-username/flash-attn/resolve/main/flash_attn-2.7.0.post1+cu12torch2.4cxx11abiFALSE-cp311-cp311-linux_x86_64.whl \
    -O /tmp/flash_attn.whl && \
    pip install /tmp/flash_attn.whl --no-build-isolation

推荐方案

方案 优点 缺点
分卷压缩 完全免费,利用现有 Gitee 仓库 Dockerfile 需要合并操作
对象存储 速度快,稳定 需要付费(流量费)
申请 GVP 限额提升到 200MB 需要项目有影响力,审核时间

最推荐方案 2(分卷压缩),因为完全免费且立即可用。

需要我帮你写具体的分卷上传脚本和 Dockerfile 吗?

明白了,你用 CSDN 账号登录 GitCode,没有独立的 GitCode 密码。这种情况需要:

方案 1:在 GitCode 设置独立密码(推荐)

  1. 登录 GitCode(通过 CSDN 扫码/快捷登录)
  2. 点击头像 → 设置账号设置
  3. 找到 "修改密码""设置独立密码"
  4. 设置一个 GitCode 专用密码

然后就可以用这个密码生成 Access Token。


方案 2:直接获取 CSDN 的 Token(如果 GitCode 支持)

有些平台支持用 OAuth Token,但 GitCode 通常需要自己的 Token。


方案 3:改用 Gitee(支持 CSDN 登录,且可以设置密码)

如果 GitCode 设置密码麻烦,可以改用 Gitee

  1. 用 CSDN 账号登录 Gitee(gitee.com
  2. 在 Gitee 设置独立密码
  3. 生成 Access Token
  4. 把代码推送到 Gitee
bash 复制代码
# 在 Gitee 创建同名仓库 flash-attention
# 然后修改远程地址
git remote set-url origin https://gitee.com/zhangfeng1133/flash-attention.git

# 推送
git push -u origin main

方案 4:使用 SSH 方式(不需要密码,只需要密钥)

这个方案不需要 Token 或密码,只需要 SSH 密钥:

1. 生成 SSH 密钥

bash 复制代码
ssh-keygen -t ed25519 -C "yanggg1133@163.com"
# 一路按回车,使用默认路径

2. 复制公钥内容

bash 复制代码
cat ~/.ssh/id_ed25519.pub

复制输出的内容(以 ssh-ed25519 开头)

3. 添加到 GitCode

  1. 登录 GitCode 网站
  2. 头像 → 设置SSH 公钥
  3. 粘贴刚才复制的内容,保存

4. 测试连接

bash 复制代码
ssh -T git@gitcode.com

看到 Welcome to GitCode, zhangfeng1133! 说明成功

5. 修改远程为 SSH 并推送

bash 复制代码
cd /f/downloads/flash-attention

# 改为 SSH 地址
git remote set-url origin git@gitcode.com:zhangfeng1133/flash-attention.git

# 推送
git push origin main

推荐

方案 难度 说明
GitCode 设置独立密码 简单 一劳永逸,之后可以正常用 Token
改用 Gitee 简单 Gitee 生态更好,也支持 CSDN 登录
SSH 方式 中等 最安全,不需要每次输入密码

最推荐方案 3(SSH),因为:

  • 不需要处理 Token 和密码
  • 一次配置,永久使用
  • 更安全

你想用哪个方案?我可以一步步带你操作。

相关推荐
啊哈的哲学路途3 小时前
【git、gitee、github、gitlab 区别以及功能】
git·gitee·github
Java后端的Ai之路8 小时前
GitHub 上传指南(包含和gitee并存处理)
gitee·github·上传·远程仓库·解决冲突
Luna-player8 小时前
将Vue 项目上传到Gitee流程步骤
前端·vue.js·gitee
玖剹17 小时前
gitee在Linux下的使用
linux·运维·gitee
lpfasd12317 小时前
Flutter 远程构建全攻略:告别本地打包,GitHub Actions、Gitee Go 与 MobAI 三方案详解
flutter·gitee·github
符哥200818 小时前
充电桩 Android App 的BLE蓝牙模块(Kotlin)
gitee
程序员小崔日记1 天前
这个企业级后台框架,我真的用了一段时间:RuoYi-Plus-Soybean 全面体验
gitee·saas·企业级项目
程序员小崔日记12 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传