今天推送代碼到 GitLab 遠(yuǎn)程 master
分支上,然后提交失敗了,提示如下:
! [remote rejected] master -> master (pre-receive hook declined)
究其原因伙单,就是用戶權(quán)限不足书妻,無法 push 代碼到 master
分支上船响。只要將用戶角色設(shè)置成 Master、Owner 等含有 master
分支操作的權(quán)限即可驻子。
但應(yīng)根據(jù)自身實(shí)際情況而定灿意,是賦予可修改
master
分支權(quán)限,還是交由 Leader 等含有master
分支處理權(quán)限的其他人處理崇呵?
關(guān)于 GitLab 訪問權(quán)限
GitLab 訪問權(quán)限 - Visibility Level
這個(gè)是在建立項(xiàng)目時(shí)就需要選定的缤剧,主要用于決定哪些人可以訪問此項(xiàng)目,包含 3 種:
- Private - 私有域慷,只有屬于該項(xiàng)目成員才有看到
- Internal - 內(nèi)部荒辕,用 GitLab 賬號的人都看到
- Public - 公開汗销,任何人可以看到
開源項(xiàng)目和組設(shè)置的是 Internal。
行為權(quán)限:
在滿足行為權(quán)限之前抵窒,必須具備訪問權(quán)限(如果沒有訪問權(quán)限弛针,那就無所謂行為權(quán)限了),行為權(quán)限是指對該項(xiàng)目進(jìn)行某些操作李皇,比如提交削茁、創(chuàng)建問題、創(chuàng)建新分支掉房、刪除分支茧跋、創(chuàng)建標(biāo)簽、刪除標(biāo)簽等角色
GitLab 定義了以下幾個(gè)角色:
GitLab 官方文檔關(guān)于 Permissions 有一個(gè)很詳細(xì)的說明卓囚。
-
Guest - 訪客
可以創(chuàng)建 issue瘾杭、發(fā)表評論,不能讀寫版本庫哪亿。
-
Reporter - 報(bào)告者
可以理解為測試員粥烁、產(chǎn)品經(jīng)理等,一般負(fù)責(zé)提交 issue 等
可以克隆代碼蝇棉,不能提交讨阻,QA、PM 可以賦予這個(gè)權(quán)限银萍。 -
Developer - 開發(fā)者
可以克隆代碼变勇、開發(fā)、提交贴唇、push搀绣,RD 可以賦予這個(gè)權(quán)限。
-
Master - 主人
可以創(chuàng)建項(xiàng)目戳气、添加 tag链患、保護(hù)分支、添加項(xiàng)目成員瓶您、編輯項(xiàng)目麻捻,核心 RD 負(fù)責(zé)人可以賦予這個(gè)權(quán)限。
-
Owner - 擁有者
可以設(shè)置項(xiàng)目訪問權(quán)限 - Visibility Level呀袱、刪除項(xiàng)目贸毕、遷移項(xiàng)目、管理組成員夜赵,開發(fā)組 Leader 可以賦予這個(gè)權(quán)限明棍。
-
Maintainer - 維護(hù)者
權(quán)限與 Owner 差不多,但無刪除項(xiàng)目等權(quán)限寇僧。