Gitea 仓库与成员管理

本文为大纲,可根据公司实际 Gitea 界面补充操作步骤与截图。

目标

  • 在 Gitea 中创建仓库(个人或组织下)
  • 管理仓库成员、权限与基本设置

大纲

  1. 创建仓库

    • 入口:个人/组织页 → 新建仓库。
    • 必填:仓库名称、可见性(公开/有限/私有)、是否初始化 README/ .gitignore/ license。
    • 可选:描述、默认分支名、是否启用 Wiki/Issue/PR 等。
  2. 仓库设置(Settings)

    • 常规:重命名、描述、默认分支、归档/只读。
    • 协作:分支保护、允许的合并方式(merge/squash/rebase)、是否需要 PR 评审。
    • 危险区域:转移所有权、删除仓库(需二次确认)。
  3. 成员与权限

    • 添加协作者:按用户或团队添加,权限级别(只读/写/管理)。
    • 组织创建 配合:组织内通过「团队」批量授权。
  4. 分支保护(可选)

    • 保护主分支:禁止直接 push,必须通过 PR。
    • 规定评审人数、状态检查(如 CI 通过)后才可合并。

仓库创建原则

  • 仓库名称必须符合组织内的仓库命名要求
  • 非公共组件库仓库,可见性必须为私有。
  • 个人仓库一般可见性应为私有
  • 组织仓库根据组织要求配置仓库的可见性、权限、分支保护等。
  • 仓库的README.md文件中写入仓库说明文档。
  • 仓库的.gitignore文件中写入仓库的忽略文件。
  • 个人仓库移入组织时,需要将仓库的可见性、权限、分支保护等配置为组织要求。

1. 仓库命名规范

仓库分类:

  • 公共组件库: 公共组件库,如:efsm状态机、doi协议栈、rtos等。
  • 半成品: 半成品,如:30.001.000248、30.001.000249等。
  • 文档工具类: document、tools等。
  • 其它: 其它。
    仓库名称是仓库的唯一标识,不能重复,不得使用中文字符.

2. 仓库配置要求

基本设置

  • 仓库名称: 仓库名称必须符合仓库命名要求。 如:30.001.000248
  • 仓库描述:应为半成品名称,如:GDJ9矿用本安型激光多参数传感器-计算板程序
  • 可见性:除公共组件库外,其它仓库可见性必须为私有。
    高级设置:
  • 一般保持默认设置,特殊情况需要修改时,应提前与管理员沟通。
  • 代码、百科、工单、版本发布、actions等保持默认设置,后续再根据需要修改。
    危险操作区域:
  • 转移所有权:将仓库转移给其它组织或成员。
  • 删除仓库:删除仓库,删除后无法恢复。
  • 归档仓库:归档仓库,归档后仓库不可用,但数据保留。(可以随时恢复)

3. 仓库中必要文件说明

  • README.md文件:仓库说明文档,描述产品介绍,使用方式等
  • .gitignore文件:仓库忽略文件
  • .clang-format文件:用于规范C/C++代码风格

3.1 readme.md文件说明

markdown格式语法参考markdown语法
它是仓库描述文件,方便成员了解仓库的用途、使用方式等。

3.2 .gitignore文件说明

gitignore格式语法参考gitignore语法
它是仓库忽略文件,用于忽略仓库中的某些文件或目录,避免这些文件或目录被提交到仓库中.比如编译生成的文件、调试文件、日志文件等。

3.3 .clang-format文件说明

clang-format格式语法参考clang-format语法
它是代码风格配置文件,用于规范C/C++代码风格。用于自动格式化代码,避免代码风格不一致。

4.仓库功能介绍

  • 代码:仓库代码文件可切换分支查看各分支代码斜街
  • 百科:仓库百科文件 用于记录产品设计文档、使用说明等
  • 工单:仓库工单文件 用于记录产品缺陷、需求、任务等
  • 合并请求:仓库合并请求文件 用于记录产品合并请求信息
  • 版本发布:仓库版本发布文件 用于记录产品版本发布信息
  • actions:仓库actions文件 用于记录产品自动化构建、测试、部署等
  • 标签: 一般用来标记版本信息,如v1.0.0、v1.0.1等
  • 提交图: 可视化的提交记录,方便查看提交历史

5. 仓库创建

5.1 创建全新的空白仓库

  1. 点击创建仓库
  2. 选择拥有者,如组织、个人
  3. 输入仓库名称 应符合仓库命名规范
  4. 输入仓库描述 可后续补充
  5. 选择仓库可见性 除公共组件库外,其它仓库可见性必须为私有。
  6. 默认分支名: master
  7. 其它默认点击创建

5.2 fork其它仓库到组织中。

  1. 点击进入仓库
  2. 点击派生(fork)
  3. 选择拥有者,如组织、个人
  4. 输入仓库名称 应符合仓库命名规范
  5. 输入仓库描述 可后续补充
  6. 其它默认点击派生仓库

5.3 本地仓库推送到组织

允许通过推送直接创建组织下的仓库,操作流程如下

  1. 在本地仓库中添加远端仓库地址,如:git remote add origin ssh://git@192.168.21.7:222/<组织>/<仓库名>.git
  2. 推送代码到远端仓库,如:git push origin master:master
  3. 推送成功后,在组织中可以看到新创建的仓库,并按照仓库配置要求配置仓库。

5.4拉取仓库到本地

操作流程如下

  1. 获取远端仓库地址,在本地的命令行下执行,如:git clone ssh://git@192.168.21.7:222/<组织>/<仓库名>.git
  2. 拉取代码到本地仓库,如:git pull origin master 拉取代码到本地仓库
  3. 拉取成功后,在本地仓库中可以看到仓库的代码文件。

5.5 创建提交并推送代码到远端

  1. 创建readme.md文件,并编辑内容
  2. git add . 添加所有文件到暂存区
  3. git commit -m "doc: 添加README.md文件" 创建提交
  4. git push origin master 推送代码到远端

5. 常见问题

问题1:仓库名称需要修改

处理流程:

  1. 联系管理员,修改仓库名称。
  2. 管理员修改仓库名称后,通知所有成员,将本地仓库的地址更新,或者重新clone仓库。

问题2:给的仓库链接不存在

  1. 私有仓库需要并拥有权限的成员登陆才能看到

问题3:仓库代码文件无法显示

  1. 仓库代码处于加密状态无法在线浏览

问题4:推送代码提示冲突

  1. 本地代码与远程代码冲突,需要先拉取远程代码,解决冲突后再推送

问题5: 每次与远端同步提示输入账户密码

为自己创建ssh密钥,并添加到gitea中。
添加密钥后才能使用ssh方式推送代码到远端。否则只能使用https方式推送代码到远端。