Git存储库管理操作

时间:2016-05-01 06:22:47

标签: git repository gitlab clone git-checkout

我是git的新手,我需要创建一些有一些限制的存储库。

下图中描述的过程应该做什么。 我们假设我在server1中拥有MYTOOL的存储库。 所以,我需要创建一个新的分支 test_branch ,其次我需要将这个分支( master_test_branch )克隆到不同的服务器,我想在那里检查到dev存储库( dev_test_branch)来自这个克隆的分支。

基本上到现在为止,所有内容都如下图所示,但这是我的特殊要求。

  1. 开发人员可以完全访问dev_test_branch。

  2. 他们只能看到 master_test_branch ,这意味着他们从未意识到其他分支( master,test_branch,ut_branch,prod_branch

  3. 所有这些分支( master,test_branch,ut_branch,prod_branch )都在GitLab中管理,所有其他分支( dev_test_branch,master_test_branch )将使用纯git 。

  4. 在GitLab中,创建新分支( test_branch )非常容易。

    我的困难如何执行其他两个步骤才能使其正常工作?

    还有一种情况,在某些情况下,当管理员决定从 test_branch 进行硬推送到 master_test_branch 时,开发人员将决定将哪些内容合并到dev_test_branch。< / p>

    很抱歉,如果我混淆了术语命名。

    感谢您提供任何帮助和建议。

    enter image description here

1 个答案:

答案 0 :(得分:0)

  

他们只能看到master_test_branch,这意味着他们从未意识到其他分支

GitLab与否,只要你只看到一些分支而不是其他分支,你需要单独的回购:

  • 包含所有分支的一个私人
  • 一个公众(或者至少可以由GitLab的开发团队访问),它只有你需要的分支 (并在GitLab之外进行管理,例如在shared network with file protocol中,作为git bare repos,这样,没有服务器可以安装,没有Apache或ssh。添加一个post-receive钩子来推送到GitLab repo,你就是设置)

您可以限制每个分支(受保护的分支)的推送访问,但您不能在git或GitLab中限制读取访问权限:如果您可以克隆/获取存储库,则您正在克隆/获取所有分支。