繁体   English   中英

在git中的远程存储库上创建专用分支

[英]Create private branch on remote repository in git

我想在我们公司的git上构建特定的流程。

  1. 开发人员在他的本地机器上创建一个分支并提交一些文件。
  2. dev将此分支推送到远程仓库
  3. 其他开发人员无法访问此分支
  4. 经过几轮推动开发人员决定公布他的变化。
  5. 将他的私人分支合并到公共分支
  6. 推动那个公共分支。

换句话说 - 是否可以在公共存储库中配置私有远程分支?

我团队中使用的流程是除了主git服务器上的源之外,还为每个团队成员提供完整的单独存储库。

  1. Dev在本地机器上创建本地分支并提交
  2. 在一天结束时(或适当的时候)dev推送到他的私人仓库git push jdoe-private my-cool-branch
  3. Dev决定他很高兴发布并可能合并的作品,因此可以整理它并且不受惩罚地改变它
  4. Dev推动他的分支到原点git push origin my-cool-branch

对我们来说,这种设置的基本原理是允许开发人员自由地改变并避免上游变基引起的问题以及完全备份。 单独的存储库仅按惯例私有,但如果需要,可以很容易地添加访问控制。 有很多重复的数据,但除非你的回购真的很大,这可能不是一个问题。

我所知道的常见解决方案是通过将一些字符串添加到分支名称来同意“分支命名空间”。 例如,以“private /”开头的分支用于私人实验。 然后你会得到分支

  • 民营/ JOHNDOE /重构,taxcalculation
  • 民营/ JOHNDOE / newGUILayout
  • 民营/ JaneJones / Java8
  • 民营/ TKirk /建造太空飞船

这使分支保持分离,并清楚地表明它们的目的是什么。 但是,分支仍然是公开的,因为任何人都可以看到并拉动它们。

如果要根据用户限制对这些分支的访问,则需要使用某种基于分支的访问控制。 在核心git中没有这样的东西,但是一些git托管服务器允许这个(例如Atlassian Stash)。 我不知道任何允许这种私有分支的服务器,但也许有一个允许它或让你编写解决方案的脚本。

但请注意,您要求的是相当不寻常的。 常见的解决方案是我上面概述的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM