Je travaille actuellement pour une équipe Scrum qui utilise un référentiel git partagé avec une autre équipe Scrum. Pour simplifier, nous appellerons mon équipe Scrum Autobot et l'autre Decepticon.
L'équipe Decepticon a un accès complet en lecture et écriture au référentiel, et est responsable du cadre de travail.
L'équipe Autobot peut seulement lire, mais pas écrire. En général, il n'y a pas de problème si les membres de l'équipe travaillent de manière indépendante. Cependant, des cas se présentent où il serait utile de lire et écrire sur la branche d'autres membres de l'équipe. Jusqu'à présent, Autobot n'a pas obtenu l'accès en écriture de la part de Decepticon (la solution facile) donc une solution de contournement est nécessaire.
Un exemple d'utilisation: supposons que Optimus (pour continuer la métaphore des transformers) a fait ce qui suit:
#!/bin/bash
optimus@workstation0:~/git/work_project/> git branch sdev /sprint/dev --track
optimus@workstation0:~/git/work_project/> git checkout sdev
optimus@workstation0:~/git/work_project/> touch important_file.py
optimus@workstation0:~/git/work_project/> git add important_file.py
optimus@workstation0:~/git/work_project/> git commit -m "Fichier important ajouté."
Maintenant, Rodimus doit aider Optimus en éditant important_file.py. Il crée sa propre branche et tire directement de la branche de Optimus, puis essaie de pousser :
#!/bin/bash
rodimus@workstation1:~/git/work_project/> git branch sdev /sprint/dev --track
rodimus@workstation1:~/git/work_project/> git pull ~optimus/git/work_project sdev
rodimus@workstation1:~/git/work_project/> echo "'''TODO: Ajouter du contenu''' > important_file.py
rodimus@workstation1:~/git/work_project/> git commit -m "Ajout du TODO".
rodimus@workstation1:~/git/work_project/> git push ~optimus/git/work_project sdev
Et des erreurs surviennent. Quelle est la procédure appropriée pour cela? Il n'est pas souhaitable d'avoir un deuxième référentiel, mais cela est faisable si nécessaire.