跳到主要内容

代码仓库

iForge 提供完整的 Git 代码托管能力。

仓库管理

  • 创建仓库:支持公开/私有仓库,可设置描述和默认分支
  • 导入仓库:从外部 Git URL 导入现有仓库
  • Fork 仓库:任何登录用户可 Fork 公开仓库到自己的空间
  • 镜像同步:配置自动从外部仓库拉取更新
  • 仓库设置:自定义克隆 URL 模板(HTTPS/SSH 前缀)

Git 协议

HTTP/HTTPS

git clone http://your-host:8081/owner/repo.git
git push origin main

所有 Git HTTP 操作(clone、push、pull、fetch)走 8081 端口,与 API 共用。

SSH

# 非标准端口
git clone ssh://git@your-host:2022/owner/repo.git

# 标准 22 端口(自动转换为 SCP-like 格式)
git clone git@your-host:owner/repo.git

SSH 密钥在用户设置页面添加,存储在数据库中(应用级 SSH,非系统 sshd)。

端口 22 自动转换

当 SSH 端口配置为 22 时,克隆 URL 自动转换为 SCP-like 格式(git@host:owner/repo.git),无需 ssh:// 前缀和端口号。详见 SSH 密钥

分支管理

  • 创建、删除分支
  • 分支保护规则(强制代码审查、禁止强制推送)
  • 分支比较(diff 视图)
  • 分支-任务关联:分支可与项目管理中的任务直接关联

文件浏览

  • 在线查看代码文件,支持语法高亮
  • 目录树导航
  • 提交历史和差异对比
  • 原始文件下载
  • Markdown 文件在线渲染

提交历史

  • 完整的提交历史浏览
  • 提交详情(变更文件、diff 对比)
  • 提交信息中引用 #Issue编号#TASK-编号 自动关联

Release 管理

  • 创建版本发布(基于 Tag)
  • 上传附件(二进制制品)
  • 发布说明(Markdown 渲染)

Wiki

每个仓库可启用 Wiki 功能,用于项目文档协作:

  • Markdown 编辑
  • 版本历史
  • 侧边栏导航

代码质量

  • 集成代码质量分析
  • 代码覆盖率统计
  • 质量报告可视化