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>
作为目标分支创建普通 PRdraft
/for-review
:目前静默忽略<branch>/
:您希望将更改合并到的分支
-o <topic|title|description>
:PR 的选项topic
:此更改的主题。它将成为保存等待审查的更改的分支的名称。这对于触发拉取请求是**必需的**。title
:PR 标题(可选但推荐),仅用于尚未关联 PR 的主题。description
:PR 描述(可选但推荐),仅用于尚未关联 PR 的主题。force-push=true
:指定是否强制更新目标分支。- 注意:省略值并仅使用
-o force-push
将不起作用。
- 注意:省略值并仅使用
以下是以 topic
、title
和 description
创建一个针对 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"