4
我有一個Github存儲庫供我們分享我們的開發。爲確保完整性,我們決定使用GPG簽署我們的提交和標籤。如何限制推送操作,只允許在github上使用GPG簽名的提交
現在,我該如何阻止開發商推簽名提交給我們在Github上也白名單GPG公共密鑰庫中,允許推的提交與白名單中的公鑰
我查了一些預推燒焦鉤,但沒有按照我上面描述的方式工作。
remote="$1"
url="$2"
z40=0000000000000000000000000000000000000000
IFS=' '
while read local_ref local_sha remote_ref remote_sha
do
if [ "$local_sha" = $z40 ]
then
# Handle delete
else
if [ "$remote_sha" = $z40 ]
then
# New branch, examine all commits
range="$local_sha"
else
# Update to existing branch, examine new commits
range="$remote_sha..$local_sha"
fi
# Check for WIP commit
commit=`git rev-list -n 1 --grep '^WIP' "$range"`
if [ -n "$commit" ]
then
echo "Found WIP commit in $local_ref, not pushing"
exit 1
fi
fi
done
exit 0
我該如何做到這一點?任何概念或例子將不勝感激。
你正在檢查任何提交'git log --grep'^ WIP''會找到。您似乎在要求檢查是否有任何提交缺少GPG簽名 - 因此您需要爲「有或沒有GPG簽名」編寫測試。那麼你可能還需要決定是否要檢查,如果*有*簽名,是否有效。但StackOverflow不是一個「爲我編寫的代碼」服務... – torek
您可以允許推送提交,但添加一個狀態檢查,要求它們在合併前進行簽名。 – osowskit