Restringir el acceso de los usuarios en el repository de git branch específico y el repository de historial, manteniendo las instalaciones de fusión

  • Aquí está mi context:

    1. Tengo un software con 20 vesion, cada versión representa (es lo mismo) una twig en mi git repo.
    2. Tengo dos equipos, uno local y otro remoto.
  • Aquí están mis restricciones:

    1. El equipo local tiene acceso completo al repository.
    2. El equipo remoto tiene acceso de forma restrictiva a la 15ª versión (twig 15)
    3. El equipo de Remo no puede tener acceso a la historia antes de la twig 15
    4. El equipo remoto no puede tener acceso al trabajo de tema local
    5. equipo remoto tiene acesso solo para su trabajo
  • Aquí hay una premisa:

    1. Sería increíble si el equipo local pudiera fusionarse con el código del equipo remoto, con un mínimo de conflictos.
  • Lo que he probado?

    1. 1º Creé un tenedor del repository, y garanticé que el maestro solo tenía hasta la 15ª versión. Algunas masrter y 15th branch son algunas versiones de código. El problema en esta solución: el equipo remoto todavía tiene acceso a todo el repository, la historia y el código.

    2. 2º Crea un nuevo repository desde la 15ª sucursal. El problema en este caso sería cuando el equipo local realice la fusión del equipo de códigos remotos a los locales.

Hasta ahora, me quedaría con la 2ª opción, incluso si tengo problemas de fusión.

Entonces, ¿alguien tiene una solución mejor o más elegante?

Realmente espero haber hecho mi auto explicación.

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

Ejecuté estos commands:

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

Entonces recibí este post:

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' 

¿Qué debo hacer?

actualización superficial no permitida

Haz un clon superficial para que solo tengas hasta la 15ª versión. Luego empújalo a un nuevo repository desnudo. Permita que el equipo remoto solo tenga acceso a ese nuevo repository. El equipo local debería ser capaz de extraer de eso como un segundo control remoto y fusionarse de remoto a local.