繁体   English   中英

如何在Git命令行中找到请求请求的源fork?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM