跳至主要内容
版本:1.22.3

AGit

在 Gitea 1.13 中,添加了对 agit 的支持。AGit 使用户能够直接创建拉取请求,即使没有仓库的写入权限,也无需进行 fork。这有助于减少重复仓库的数量并最大程度地减少不必要的磁盘使用。

注意

服务器端需要 Git 2.29 或更高版本才能正常工作。

使用 AGit 创建 PR

AGit 允许在将代码推送到远程仓库时创建 PR。这可以通过推送到分支后跟随特定的 refspec(git 识别的位置标识符)来完成。以下示例说明了这一点

git push origin HEAD:refs/for/main

该命令具有以下结构

  • HEAD:目标分支
  • origin:目标仓库(不是 fork!)
  • HEAD:包含您提议更改的本地分支
  • refs/<for|draft|for-review>/<branch>:目标 PR 类型和配置
    • for:使用 <branch> 作为目标分支创建普通 PR
    • draft/for-review:目前静默忽略
    • <branch>/:您希望将更改合并到的分支
  • -o <topic|title|description>:PR 的选项
    • topic:此更改的主题。它将成为保存等待审查的更改的分支的名称。这对于触发拉取请求是**必需的**。
    • title:PR 标题(可选但推荐),仅用于尚未关联 PR 的主题。
    • description:PR 描述(可选但推荐),仅用于尚未关联 PR 的主题。
    • force-push=true:指定是否强制更新目标分支。
      • 注意:省略值并仅使用 -o force-push 将不起作用。

以下是以 topictitledescription 创建一个针对 main 的新 PR 的另一个高级示例

git push origin HEAD:refs/for/main -o topic="Topic of my PR" -o title="Title of the PR" -o description="# The PR Description\nThis can be **any** markdown content.\n- [x] Ok"