我想在我们公司的git上构建特定的流程。
换句话说 - 是否可以在公共存储库中配置私有远程分支?
答案 0 :(得分:10)
我团队中使用的流程是为每个团队成员提供完整的单独存储库,以及主git服务器上的原始数据库。
git push jdoe-private my-cool-branch
git push origin my-cool-branch
我们的这种设置的基本原理是允许开发人员自由地改变并避免上游变基引起的问题以及完全备份。单独的存储库仅按惯例私有,但如果需要,可以很容易地添加访问控制。有很多重复的数据,但除非你的回购真的巨大,否则这可能不是一个问题。
答案 1 :(得分:1)
我所知道的常见解决方案是通过将一些字符串添加到分支名称来同意"分支命名空间"。例如,以" private /"开头的分支;是私人实验。然后你会得到像
这样的分支这使分支保持分离,并明确其目的是什么。但是,分支仍然是公开的,因为任何人都可以看到并拉动它们。
如果要根据用户限制对这些分支的访问,则需要使用某种基于分支的访问控制。在核心git中没有这样的东西,但是一些git托管服务器允许这个(例如Atlassian Stash)。我不知道任何允许这种私有分支的服务器,但也许有一个允许它或让你编写解决方案的脚本。
但请注意,您所要求的是相当不寻常的。常见的解决方案是我上面概述的解决方案。