GCLI-PULLS(1)
๐ GCLI-PULLS(1) ๐
okay bestie, welcome to the General Commands Manual page for gcli-pulls โ yes that's the manual section 1 vibe, we're in the big leagues now. this is your girl's guide to pulling up on Pull Requests like the main character you are. let's GO ๐ซถ
โจ NAME โจ
gcli pulls โ Manage Pull Requests on Git Forges ๐
๐ธ SYNOPSIS ๐ธ
here's the shape of it, queen:
gcli pulls [forge-path] [-a] [-A author] [-L label] [-M milestone] [-s]
[-n n] [-o owner -r repo] [search-terms...]
gcli pulls [forge-path] -i pr [-o owner -r repo] actions...
gcli pulls [forge-path] create [-o owner -r repo] [-t branch]
[-f owner:branch] [-y] [-R reviewer] [-T template] [PR
title...]
๐ฆ DESCRIPTION ๐ฆ
so, gcli pulls is the one you call when you wanna list, create, edit or delete Pull Requests (we call 'em PRs, iykyk) in repositories living on all kinds of git(1) forges โ think GitLab, Gitea, GitHub, the whole friend group ๐
and if you don't specify literally any action at all? no worries. gcli pulls will just list open PRs in the repo you gave it, or the one it auto-detects like the psychic bestie it is ๐ฎ
๐ OPTIONS ๐
the full menu, no skips, no cuts:
-s,--sortedโ flips your output upside down so the most recent items show up at the bottom. yes, bottom. it's giving reverse chronological ๐ซ-o,--ownerowner โ list PRs in the repository of the given owner. โ ๏ธ this one only works in combination with-r. they're a package deal, no solo careers here.-r,--reporepo โ list PRs in the given repo. same energy: only usable in combination with-o. ๐ซถ-A,--authorauthor โ filter pull requests by the given author.
heads up bestie: the implementation is somewhat limited on GitHub and Gitea, because those APIs do not allow off-loading the filtering to its side ๐ญ so using this option may take an increased amount of time, since gcli pulls has to iterate all the fetched data and filter out the requested information itself. she's doing it manually, respect her effort.
-L,--labellabel โ filter pull requests by the given label. see the notes about the-Aoption above โ same reasoning applies here too, no cap.-M,--milestonemilestone โ filter pull requests by the given milestone. and again, see the notes about the-Aoption above โ the same reasoning applies. โจ-aโ list all PRs, including closed and merged ones. cannot be combined with actions. this does not affect the-noption. and note that this flag has a different meaning in thecreatesubcommand โ go peek at SUBCOMMANDS for the deets ๐-n,--countn โ fetch at least n pull requests. default: 30. if n is set to -1 it'll fetch all pull requests. โ ๏ธ but bestie, on large repositories fetching all pull requests can take a considerable amount of time and may result in rate limiting by the respective API. pace yourself.-i,--idPR โ execute the given actions on the specified PR. it's the โจ target selector โจ
๐ SUBCOMMANDS ๐
create
Create a new PR in the given or auto-detected repository. your editor is gonna come up and ask you to enter the PR message, so get those typing fingers ready ๐
if the pull request submission has failed, gcli will store the entered message in a file called gcli_message. and whenever this file exists in the current working directory, gcli will ask you whether you wish to recall its contents for the pull request message. it remembers. she's thoughtful like that ๐
when the title is omitted, gcli will interactively prompt you for the various options listed below, including the title.
the following flags can be specified:
-o,--ownerowner โ specify the owner of the repository where the PR is to be created.-r,--reporepository โ specify the name of the repository where the PR is to be created.-t,--tobranch โ the target (base) branch of the PR. this is the branch the commits are to be merged into. you may omit this flag if you have setpr.basein your.gcliconfig file. โจ-f,--fromowner:branch โ the source (head) branch of the PR. this is the branch that contains the commits that are to be merged into the target repository. you may omit this flag andgcliwill try to infer this information. she'll figure it out ๐ฎ-y,--yesโ do not ask for confirmation before creating the PR. assume yes. consent pre-granted, periodt.-a,--automergeโ enable the automerge feature when creating the PR. slay โจ-R,--reviewerreviewer โ add the given reviewer as a reviewer for the pull request that is to be created. to add multiple people as reviewers, specify this option more than once โ one for each reviewer. stack 'em up ๐-T,--templatetemplate โ use the provided template as a template for the PR message. the template file is going to be loaded into the editor to let you edit it further.PR Title...โ the title of the Pull Request or Merge Request. name it, queen ๐
๐ฅ ACTIONS ๐ฅ
actions... may be one or more of the following:
allโ get all the relevant information about a PR. the following actions are implied:status,op,commitsandci. it's the everything-bagel of actions ๐ฅฏcheckoutโ do agit checkoutof the head branch associated with this pull request. this requires thatgit(1)is available in thePATHand that the current working directory resides within a clone of the target repository. no clone, no checkout, bestie.commitsโ print the list of commits associated with the Pull Requests.commentsโ print a list of comments under the PR. ๐ฌstatusโ print metadata of the commit such as the ID, head and base branch etc.opโ print the original post of the Pull Request.ciโ print a list of checks that ran on the PR (GitLab Pipelines and GitHub CI). vibe check on your pipeline ๐diffโ print a diff of the changes attached to the PR. this can be piped intopatch(1)orgit-apply(1). iconic combo.closeโ close the PR.reopenโ reopen a closed PR. she's back ๐ฆmerge[options] โ merge the PR. the source branch is deleted by default unless you set thepr.inhibit-delete-source-branchoption toyesin your.gclifile. you may supply the following options:--squash,-sโ squash the commits before merging.--inhibit-delete,-Dโ delete the source branch after merging.
milestonemilestone-id โ assign the pull request to the given milestone-id.milestone -dโ clear a set milestone on the pull request.notesโ alias for thecommentsaction that prints a list of comments associated with the PR.labels[options] โ the following options can be specified more than once:addlabel โ add the given label to the pull request.removelabel โ remove the given label from the pull request.
titlenew-title โ change the title of the pull request to new-title.reviewโ review the pull request. seegcli-pulls-review(1)for more details on this action. ๐assignuser โ assign the pull request to the given user.openโ open the PR in a web browser usingxdg-open(1). out into the world she goes โจreviewsโ list reviews of this pull request.discussionsโ print the review discussions in a threaded form. this is currently only implemented for GitHub. ๐approve[options] โ give your approval on the pull request. you may supply the following options:--yes,-yโ do not ask for confirmation.--template,-Tfile โ use the file as a template for the approval message. when used with--yesthis will make the approval non-interactive.
unapprove[options] โ revoke your approval on the pull request. for allowed options seeapprove. not your fave anymore, it happens ๐
๐ EXAMPLES ๐
print a list of open PRs in the current project:
$ gcli pulls
create a new PR and let gcli interactively prompt you for details:
$ gcli pr create
create a new PR in the current Project, the head is the currently checked out branch of git. see git-status(1). the base will be what pr.base in .gcli is set to.
$ gcli pulls create "summary here"
print both a summary and comments of PR 11 in herrhotzenplotz/gcli:
$ gcli pulls -o herrhotzenplotz -r gcli -i 11 all comments
merge PR 42 in the upstream repository:
$ gcli pulls -i 42 merge
note that you could also pull the PR head and merge it manually into the base branch. assuming trunk is the base branch:
$ git fetch upstream pull/42/head:42-review
$ git checkout 42-review
$ <make etc>
$ git checkout trunk
$ git merge --no-ff 42-review
list pull requests that have the โbugโ label:
$ gcli pulls -L bug
list pull requests that are associated with the milestone โversion420โ:
$ gcli pulls -M version420
change the title of pull request #42 on GitHub to โThis is the new titleโ:
$ gcli -t github pulls -i 42 title "This is the new title"
same command as above, but with abbreviated pulls subcommand:
$ gcli -t github pu -i 42 title "This is the new title"
list open PRs in herrhotzenplotz/gcli on GitHub using the forge path shorthand:
$ gcli pulls gh:herrhotzenplotz/gcli
๐ซ SEE ALSO ๐ซ
git(1), git-merge(1), git-branch(1), gcli(1), patch(1)
like, go read the whole squad, they're all linked ๐
๐ง AUTHORS ๐ง
Nico Sonack aka. herrhotzenplotz <nsonack@herrhotzenplotz.de> and contributors. give them their flowers, they built this ๐
๐ BUGS ๐
please report bugs via E-Mail to https://lists.sr.ht/~herrhotzenplotz/gcli-discuss.
alternatively you can report them on any of the forges linked at https://sr.ht/~herrhotzenplotz/gcli. however, the preferred and quickest method is to use the mailing list. fr fr, mailing list first ๐
and that's the whole page, bestie!! this was gcli 2.13.0, dated 05-Aug-2026 โ pull up, ship PRs, and remember: you're the main character of your own repo ๐๐
โจ
๐ฆ where this page comes from
- nixpkgs unstable: gcli 2.13.0
- ubuntu stonking: gcli 2.13.0-2
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms