如何在GitLab上将一个分支设为公开,而其他分支保持私有

117次阅读
没有评论

问题描述

正在使用GitLab托管一个LaTeX模板。他想要给一些同事访问他的模板,但只允许他们访问主分支。他使用其他分支来编写基于该模板的个人文档。他想知道是否可以将主分支设为公开,而其他分支保持私有。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

在GitLab中,分支没有特定的权限设置。但是,你可以通过以下方法实现将主分支设为公开,而其他分支保持私有的效果:
1. 在GitLab上创建一个新的公开项目,用于存储主分支的代码。
2. 将你的模板代码推送到这个新的公开项目中的主分支。
3. 在GitLab上创建一个新的私有项目,用于存储其他分支的代码。
4. 将你的模板代码推送到这个新的私有项目中的其他分支。
这样,你的同事就可以访问公开项目中的主分支,而你可以继续在私有项目中的其他分支上编写个人文档。

方案2

如果你使用的是GitLab企业版,你可以使用GitLab的受保护分支功能来实现将主分支设为公开,而其他分支保持私有的效果。以下是如何使用受保护分支功能的步骤:
1. 打开你的项目页面。
2. 点击左侧导航栏中的“Settings”选项。
3. 在“Settings”页面中,选择“Repository”选项卡。
4. 在“Protected branches”部分,点击“New protected branch”按钮。
5. 在弹出的对话框中,选择你要保护的分支(这里选择主分支)。
6. 在“Allowed to merge”部分,选择“Developers + Maintainers”选项。
7. 在“Allowed to push”部分,选择“Developers + Maintainers”选项。
8. 点击“Protect”按钮,保存设置。
这样,主分支就被设为公开,并且只有开发者和维护者可以合并和推送到该分支。其他分支仍然保持私有。
请注意,受保护分支功能只在GitLab企业版中可用。

方案3

如果你使用的是GitLab.com作为托管解决方案,它不支持分支特定的权限设置。但是,你可以使用GitLab的访问控制功能来实现将主分支设为公开,而其他分支保持私有的效果。以下是如何使用访问控制功能的步骤:
1. 打开你的项目页面。
2. 点击左侧导航栏中的“Settings”选项。
3. 在“Settings”页面中,选择“Members”选项卡。
4. 在“Members”页面中,添加你的同事作为项目成员,并将他们的访问级别设置为“Guest”或“Reporter”。
5. 在“Settings”页面中,选择“Repository”选项卡。
6. 在“Repository”页面中,选择“Protected branches”选项。
7. 在“Protected branches”页面中,选择你要保护的分支(这里选择主分支)。
8. 在“Allowed to merge”部分,选择“Developers + Maintainers”选项。
9. 在“Allowed to push”部分,选择“Developers + Maintainers”选项。
10. 点击“Protect”按钮,保存设置。
这样,你的同事就可以访问主分支,但只能以“Guest”或“Reporter”的身份查看和拉取代码。其他分支仍然保持私有。
请注意,这种方法并不能完全限制同事对主分支的访问权限,因为他们仍然可以查看和拉取代码。如果你需要更严格的访问控制,建议使用方案1或方案2。

正文完