限制用户访问特定git branch repo和history repo,同时保留合并设施

时间:2016-05-03 15:33:33

标签: git repository bitbucket branch restriction

  • 以下是我的背景信息:

    1. 我有一个带有20个版本的软件,每个版本代表(是相同的)我的git仓库中的一个分支。
    2. 我有两个团队,一个是本地团队,一个是远程团队。
  • 以下是我的限制:

    1. 本地团队可以完全访问回购。
    2. 远程团队可以限制访问第15个版本(第15个分支)
    3. Remoe团队无法在第15分支之前访问历史
    4. 远程团队无法访问本地tema工作
    5. 远程团队只有他们的工作
  • 这是一个前提:

    1. 如果本地团队能够从远程团队代码合并,最小化冲突会很痛苦,那就太棒了。
  • 我尝试过什么?

    1. 1个 我从回购中创建了一个分叉,我保证主人只有15个版本。一些masrter和第15个分支是一些代码版本。 此解决方案中存在的问题是:远程团队仍然可以访问所有仓库和历史记录和代码。

    2. 二路 从第15个分支开始创建一个新的repo。 在这种情况下,问题在于本地团队何时从远程代码团队到本地代码团队进行合并。

直到现在,即使我有合并问题,我也会保留第2个选项。

那么,任何人都有更好的解决方案或更优雅?

真的希望让我自己解释。

=====================================

我执行了这个命令:

  

git clone --mirror --depth 1 --branch release / v15 https://carlotto_totem@bitbucket.org/old_repo.git

     

cd old_repo

     

git push --mirror https://carlotto_totem@bitbucket.org/new_repo.git

比我收到这条消息:

C:\old_repo>git push --mirror https://carlotto_totem@bitbucket.org/new_repo.git
Password for 'https://carlotto_totem@bitbucket.org':
Counting objects: 131, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (95/95), done.
Writing objects: 100% (131/131), 9.72 MiB | 238.00 KiB/s, done.
Total 131 (delta 28), reused 131 (delta 28)
To https://carlotto_totem@bitbucket.org/new_repo.git
 ! [remote rejected] release/v15 -> release/v15 (shallow update not allowed)
error: failed to push some refs to 'https://carlotto_totem@bitbucket.org/new_repo.git'

我该怎么办?

  

不允许浅更新

1 个答案:

答案 0 :(得分:0)

做一个浅的克隆,所以你只能回到第15版。然后将其推送到新的裸存储库。仅允许远程团队访问该新存储库。本地团队应该能够将其作为第二个遥控器,并从远程合并到本地。