8

I'm running a local git server, and I'm just wondering, is there a way to see all the pull-requests made by developers? Similar to Github or Bitbucket but in command line.

Ivan Aracki
  • 4,861
  • 11
  • 59
  • 73
Alexandru
  • 833
  • 1
  • 8
  • 24

7 Answers7

9

This small configuration change may help you achieve what you want.

1. Add the following line to your .git/config file fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

2. Fetch all pull requests using : $ git fetch origin

3. To checkout a particular PR run : $ git checkout pr/999

There is a concise guide here

firekhaya
  • 408
  • 1
  • 3
  • 8
  • If you adjusted your config as prescribed by this answer, perhaps with something like `git config --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/origin/pr/*"` ... and then trusted the PR-checkout to naturally setup the new local branch with something like `git checkout pr/999` -- then you will have trouble trying to just `git pull` it again to get PR updates. The `branch.pr/999.merge` config value will not be correct. See [here](https://stackoverflow.com/a/40828472/5844631) for how to address that issue. – CrashNeb Sep 13 '22 at 21:38
6

git-request-pull doesn't send anything. It just prints to your terminal a text, that can be e-mailed to upstream repository owner.

As written in docs:

The request, printed to the standard output, begins with the branch description, summarizes the changes and indicates from where they can be pulled.

And in Git Book:

you can run the git request-pull command and email the output to the project maintainer manually

Example from that book:

$ git request-pull origin/master myfork
The following changes since commit 1edee6b1d61823a2de3b09c160d7080b8d1b3a40:
  John Smith (1):
        added a new function

are available in the git repository at:

  git://githost/simplegit.git featureA

Jessica Smith (2):
      add limit to log function
      change log output to 30 from 25

 lib/simplegit.rb |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
Marqin
  • 1,096
  • 8
  • 17
3

All the above answers suggested modifying the .git/config file. If you don't want to change the git config file to list all the Pull requests you can use the following command

git fetch origin +refs/pull/*/head:refs/remotes/origin/pr/*
kolukuri
  • 317
  • 2
  • 8
3

To list all pull requests:

git ls-remote origin 'pull/*/head'

acb088927f51e6b48c92eb8bffb5a17723260776 refs/pull/1/head cbd690b74526bb621446b169a8e1e1eae85b8901 refs/pull/2/head fc39e6b269f187ceeeefc8f71e6eaa95e6618786 refs/pull/3/head
...

To show information about specific PR:

git ls-remote origin 'pull/3/head' | awk '{print $1}' | xargs git show

(You can add | cat if the commit output is long).

Output example:

commit fc39e6b269f187ceeeefc8f71e6eaa95e6618786
Author: ...
Date: ...

add_test_subctl_benchmark

diff --git a/setup_subm.sh b/setup_subm.sh
index 1fce037..621336b 100755
...

Noam Manos
  • 15,216
  • 3
  • 86
  • 85
2

You have lot of tools to view your git server statistics.

gitinspector for example is one of them. There are lot more where you can see statistics in a nice way.

There is a command for console which allows you to check commits by author. check this,

git shortlog -s -n 
AFR
  • 105
  • 4
2

Run this command to see all the pull request made by developers:

git shortlog -n

after running the command keep pressing enter to log the complete details.

Derrick
  • 3,669
  • 5
  • 35
  • 50
2

There is a new official Github CLI released recently.

Install it with brew install gh, and then list Pull Requests with:

gh pr list
Ivan Aracki
  • 4,861
  • 11
  • 59
  • 73