我必须为受控 git 存储库的一些远程分支配置只读访问权限。
场景如下:
对于我们的开发,我们有一个内部“开发存储库” (1),它反映了一个“外部存储库”。这个“开发存储库”会定期更新(git remote update
在cron
工作中)。我们的开发发生在从外部存储库派生的分支“dev_*”中,但从不直接在外部分支上进行:
将功能添加到的工作流程master
:
- 我们创建一个作为父级
dev_master
的分支。master
- John 克隆存储库
development
、签出dev_master
、处理它,并定期推送回development
. - 如果存储库
external
被master
更新,那么master
在development
(由于上面提到的 cronjob),并且有人可以master
在 上合并dev_master
,所以我们与external
.
我们需要禁止 John 推送到 的分支master
,development
这样他的更改不会在从 的定期更新后丢失external
。
再次,示意图:
笔记
(1)我发现有些人称这个开发存储库为“暂存存储库”(例如,在How do I setup a staging repository in git?中,出现了非常相似的情况)