我感兴趣的是,与当前的主分支相比,在(GitHub)拉取请求中看到了哪些文件被修改过。
如果没有在本地检出或更改文件,这将是最佳的 - 只显示在PR中触摸了哪些文件(包括路径的文件名)。
如何实现这一目标?
答案 0 :(得分:5)
我的一般操作:在raith请求的github页面上,您会在底部找到一个说明"专家提示!将.patch或.diff添加到Git明文视图的URL末尾。"。 .patch的url类似于:
https://github.com/git/git/pull/309.patch
(所以从命令行你可以简单地替换拉取请求号,并且实际上不需要每次都查看github页面。)
获得此网址后,请使用以下内容:
curl -s -L https://github.com/git/git/pull/309.patch | git apply --stat -
将显示类似于的输出:
git-p4.py | 36 ++++++++++++++++++++++++++++++------
1 file changed, 30 insertions(+), 6 deletions(-)
答案 1 :(得分:1)
此信息全部在您当地的git历史记录中,需要两个步骤(可以合并)
用于创建PR分支的提交对于知道要比较的内容是必要的,以找到此用法git merge-base。如果分支已经存在一段时间,其他更改已合并到master,并且PR分支与当前主服务器已过期,则这是最相关的。
$ git merge-base origin/pr-branch-name origin/master
somehash
这是两个分支共同的第一个提交,以及与之比较的提交。
要获取不同的文件列表,请使用git-diff选项--name-only
$ git diff --name-only origin/pr-branch-name somehash
src/x
src/y
...
作为单个命令:
$ git fetch # if desired
$ PR=pr-branch-name
$ git diff --name-only origin/$PR `git merge-base origin/$PR origin/master`
src/x
src/y
...
答案 2 :(得分:0)
现在有一种合理的方法可以完全从GitHub UI执行此操作。在拉取请求的“文件已更改”选项卡上,每个文件名旁边都有一个箭头,它将折叠(或扩展)给定文件的差异。如果您在单击此箭头时按住Alt
键,则会折叠所有所有文件的差异,而仅留下文件名和差异统计信息。