GitCode CLI 使用指南
GitCode CLI 是一个命令行工具,用于与GitCode平台交互,支持模型和数据集的上传、下载等操作。工具基于OpenMind Hub SDK开发,并配置为连接GitCode API端点。
功能特性
- 🔐 用户认证和登录管理
- 🔗 Git集成:自动配置Git凭证,支持标准Git命令
- 📁 支持模型和数据集仓库创建
- ⬆️ 文件和目录批量上传
- ⬇️ 仓库内容下载
- 🎨 彩色终端输出
- 📊 上传下载进度显示
- 🔧 配置文件管理
安装
从源码安装
git clone https://gitcode.com/gitcode-ai/gitcode_cli.git
cd gitcode_cli
pip install -e .
使用pip安装
pip install gitcode
使用方法
1. 登录
首先需要登录到GitCode平台:
gitcode login
系统会提示输入访问令牌(从GitCode平台获取)。
🎉 Git集成功能:登录成功后,工具会自动配置Git凭证助手,这样你就可以直接使用标准的Git命令来操作GitCode仓库,无需再次输入token。凭证助手会自动从GitCode API获取你的真实用户名用于Git认证:
# 登录后,这些Git命令将自动使用保存的token
# 支持两种域名格式
git clone https://gitcode.com/username/repo-name.git
git clone https://hub.gitcode.com/username/repo-name.git
git push origin main
git pull origin main
2. 上传文件
上传模型
gitcode upload ./your-model-dir --repo-id your-username/your-model-name
上传数据集
gitcode upload ./your-dataset-dir --repo-id your-username/your-dataset-name
上传单个文件
gitcode upload ./model.bin --repo-id your-username/your-model-name
3. 下载文件
下载到当前目录
gitcode download your-username/your-model-name
下载到指定目录
gitcode download your-username/your-model-name -d ./models/
4. 其他命令
退出登录
gitcode logout
显示配置信息
gitcode config-show
配置文件
配置文件保存在 ~/.gitcode/config.json
,包含用户认证信息和其他设置。
API端点配置
工具已预配置为连接GitCode平台API端点:
- API端点:
https://hub.gitcode.com
- 环境变量:
OPENMIND_HUB_ENDPOINT=https://hub.gitcode.com
此配置在程序启动时自动设置,用户无需手动配置。
Git集成功能详解
自动配置
当你使用 gitcode login
登录成功后,工具会自动配置Git凭证,让你可以直接使用标准Git命令操作GitCode仓库。
支持的Git操作
登录后,你可以直接使用以下Git命令,无需手动输入token:
# 克隆仓库(支持两种域名格式)
git clone https://gitcode.com/username/repo-name.git
git clone https://hub.gitcode.com/username/repo-name.git
# 推送代码
git push origin main
# 拉取更新
git pull origin main
# 添加远程仓库
git remote add origin https://gitcode.com/username/repo-name.git
安全性
- 凭证配置仅对
gitcode.com
和hub.gitcode.com
域名生效 - token 安全存储在本地配置文件中
- 不影响其他Git仓库的认证配置
gitcode logout
时自动清除凭证配置
注意事项
- 支持的URL格式:
https://gitcode.com/...
或https://hub.gitcode.com/...
- 如果Git命令仍需要输入密码,请重新登录:
gitcode logout
然后gitcode login
错误处理
- 如果遇到网络错误,工具会自动重试
- 上传大文件时会显示进度条
- 所有操作都有详细的错误信息提示
支持的文件类型
- 支持所有文件类型的上传和下载
- 自动处理目录结构
- 支持大文件传输