锁定Git分支

时间:2016-03-25 19:55:09

标签: git branch

有没有办法锁定Git分支进行写入和读取? 因此,不可能写入分支并且不能从分支中进行克隆,但仅适用于构建工程师的一个人吗?

以下是该方案:

代码已被推送到Git存储库,然后开发分支。现在的想法是锁定每个人的主分支,但是一个人并且有开发人员从开发分支克隆并将代码推回到开发分支。

只有一个人 - 构建工程师应该可以访问主分支。

另外,有一个很好的Gui工具可以与Git一起使用吗?我们目前使用SourceTree,但它显示树和提交是丑陋的。

谢谢。

1 个答案:

答案 0 :(得分:3)

Git在存储库级别工作,这意味着如果你可以克隆一个git repo,你可以完全克隆它(包括它的所有分支)

这意味着无法在回购级别(对于分支)执行读取访问 所有repo都可以是私有的,但这不是git的一个特性,更像是一个监听git repo前面访问的监听器(比如Apache服务器或ssh守护进程以及用户身份验证和授权)。

要实现完整的读保护,您需要两个回购:

  • 一个为主人
  • 一个用于dev(通常是一个高手的叉子)

开发人员仍然可以通过分叉的原始仓库访问master 要完全隔离,您需要将第一个repo设为私有repo,而第二个repo不再是fork。

但更一般地说,拥有(读取)对master的访问权并不是一个坏习惯:

  • 只要非正向推送到development分支被阻止,这意味着不能对所述development分支进行rebase:任何开发都在该分支上进行(而不是{{1} })
  • 开发人员仍然可以将他们的提交与master进行比较,并且/或者选择或合并一些主提交到开发分支,如果他们需要在master上进行一些热修复(在下一次合并之前)