[英]How do I find the source fork for a pull request from the Git command line?
我们的开发团队遵循基于fork的开发模型,其中每个开发人员都在各自的fork上工作,并为每个功能将请求请求创建到中央存储库中。 我可以使用以下命令获取针对给定回购的所有拉取请求:
git fetch +refs/pull-requests/*/from:refs/remotes/origin/pr/*
这会将对该远程服务器的所有拉取请求放入.git/refs/remotes/origin/pr
目录,例如.git/refs/remotes/origin/pr/7217
,这是一个包含单个提交哈希的文本文件。
如何使用Git命令行找到此请求的源fork? 我想找到打开请求请求的开发人员。
我将其解释为“如何在分支上找到第一个新提交”。 为此,我将结合git merge-base
以获得master和pr分支之间的第一个公共提交,然后使用git rev-list
在分支中找到新的提交
git rev-list $(git merge-base master origin/pr/7217)..origin/pr/7217 | tail -1
rev-list
将在pr分支上打印所有新的阴影,因此将其以管道tail -1
拖到第一个。 您可以运行git show
或其他命令之一来查看它。
如果您需要编写脚本,那么应该可以帮助您。
如果您不是在编写脚本,而只是想查看PR上的所有提交,则可以将rev-list
更改为log
并摆脱尾部的管道。 这将为您提供PR提交的格式化列表
也许您应该先设置用户名和用户电子邮件。
git config user.name xxxx
git config user.email xxxx@xxx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.