0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-29 10:54:02 -05:00
forgejo/docs/content/usage/agit-support.en-us.md
Sandro Santilli 0f3ea4e1b1
Update agit-support.en-us.md (#27652)
Clarify Agit PR creation documentation

See https://github.com/go-gitea/gitea/issues/27579
2023-10-17 17:53:36 +08:00

2 KiB

date title slug sidebar_position toc draft aliases menu
2022-09-01T20:50:42+0000 Agit Setup agit-setup 12 false false
/en-us/agit-setup
sidebar
parent name sidebar_position identifier
usage Agit Setup 12 agit-setup

Agit Setup

In Gitea 1.13, support for agit was added. Note: git version 2.29 or higher is required on the server side for this to work.

Creating PRs with Agit

Agit allows to create PRs while pushing code to the remote repo. This can be done by pushing to the branch followed by a specific refspec (a location identifier known to git). The following example illustrates this:

git push origin HEAD:refs/for/main

The command has the following structure:

  • HEAD: The target branch
  • origin: The target repository (not a fork!)
  • HEAD: The local branch containing the changes you are proposing
  • refs/<for|draft|for-review>/<branch>: The target PR type and configuration
    • for: Create a normal PR with <branch> as the target branch
    • draft/for-review: Currently ignored silently
    • <branch>/: The branch you want your changes to be merged into
  • -o <topic|title|description>: Options for the PR
    • topic: The topic of this change. It will become the name of the branch holding the changes waiting for review. This is REQUIRED to trigger a pull request.
    • title: The PR title (optional but recommended), only used for topics not already having an associated PR.
    • description: The PR description (optional but recommended), only used for topics not already having an associated PR.
    • force-push: confirm force update the target branch

Here's another advanced example for creating a new PR targeting main with topic, title, and description:

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"