How do you recreate the GitHub pull request diff o

2020-07-02 10:23发布

While working on a branch that I've opened a pull request on, I would like to see the exact same diff that GitHub displays on the commandline. What is the particular git diff command that replicates the list of changes GitHub displays for a pull request?

5条回答
闹够了就滚
2楼-- · 2020-07-02 11:02

See the Reviewing and Synchronising section in GitHub advanced training. In particular, after fetching the pull request you can view the diff prior to merging:

$ git fetch origin refs/pull/1/head
$ git show FETCH_HEAD
查看更多
做个烂人
3楼-- · 2020-07-02 11:12

If you don't want to do any git fetch and update a local PR branch, you simply can use cli/cli, the command-line interface for GitHub.

The release 0.9.0 includes gh pr diff

https://user-images.githubusercontent.com/98482/82266353-13a03300-992f-11ea-8d71-2a0995707f87.png

查看更多
趁早两清
4楼-- · 2020-07-02 11:12

Not sure if there is a way to get the actual diff format closer to Github style but $ git diff master...<branch_name> seems to show the set of changes that a pull request would show (assuming it's a pull request against master). The list of changed files in a pull request seems to be equivalent to $ git diff --name-status master...<branch_name>. I guess this all assumes that your local branches are up-to-date with the remote Github branches

查看更多
太酷不给撩
5楼-- · 2020-07-02 11:15

git diff branchA branchB should work, no?

More info on other perhaps useful diff notations can be found here

查看更多
The star\"
6楼-- · 2020-07-02 11:19

The closest thing is to diff with the common ancestor between your feature-branch and your base-branch.

Something like:

git diff `git merge-base feature-branch base-branch`
查看更多
登录 后发表回答