2017-01-29 31 views

回答

2

这将达到你想要的。克隆远程设备,配置提取请求,然后合并每个PR分支。

但是,分支之间存在冲突。他们以不同的方式更改相同的文件。所以将它们合并在一起并不是一项简单的任务。因此脚本失败。

#!/usr/bin/env bash 

set -e 

git clone https://github.com/Sumi-Interactive/SIAlertView 
cd SIAlertView 

git config --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/origin/pr/*" 
git fetch 

for branch in $(git branch -r); do 
    [[ $branch =~ origin/pr/ ]] && git merge $branch 
done 
+0

自动接受拉请求是非常糟糕的做法。它击败了公关的重点。 – Schwern

+0

这可以很好地解决,冲突的文件我不需要。谢谢! –

+0

这合并*所有*拉请求,甚至已经关闭! – Schwern

0

通过他们去,他们审查,如果审查通过点击合并按钮。如果它不发表评论,或者自己修复它或等待贡献者修复它。

你不想自动化这一点,有一个PR的点是有人评论它。如果你自动接受它就会失败。如果你不想审查PR,那么完全跳过它们,并赋予贡献者许可推动主(可能不是一个好主意)。

您似乎没有Continuous Integration Testing PR,所以您甚至不确定PR是否有效。即使他们单独工作,也无法保证他们一旦砸碎就会全部工作。 master将会一团糟。

并且有36个同时发生的PR有非常好的机会,所有这些都会导致冲突(或者更糟糕的是,悄无声息地覆盖彼此的变化)。你需要智能地整合它们。

现在,您已经宣传您的项目盲目接受PR,因此恶意攻击者非常容易将恶意软件插入到您的项目中。

有什么更好的是找到更多的人来帮助审查和整合。这可能是非官方的,只是要求一些人对PR发表评论,或者you can use Github's review process

+0

由于他们想克隆GitHub仓库,我相信OP没有任何权限,因此无法合并PR。 –

+0

我不是存储库的所有者。我不关心所有这些,我只是想自己更新它,然后我会修复它。 –

+0

@MikeDeluca你不必合并他们的PR来获得最新的贡献给一个项目。这是一个坏主意,因为你现在会与其他人正在使用的不同,并且你不知道哪些PR将被接受,或者有哪些修改。分叉回购,克隆它,然后去。如果你真的想让公关在当地看看,你可以使用哈拉尔的技巧来抓取他们并检查他们,但不要盲目合并他们!在'git fetch'停下来。 [或者按照这个程序](https://help.github。COM /用品/检查出-拉请求,本地/)。 – Schwern