2017-01-29 46 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