Publier votre référentiel pour activer la collaboration
Vous avez appris comment Git vous permet d’effectuer le suivi des modifications apportées à votre code Bicep. Dans cette unité, vous apprendrez comment Git permet également la collaboration avec les membres de votre équipe.
Notes
Les commandes de cette unité sont présentées pour illustrer les concepts. N’exécutez pas encore les commandes. Vous allez bientôt mettre en pratique ce que vous apprenez ici.
Que sont GitHub et Azure Repos ?
Git est un logiciel que vous installez et exécutez sur votre propre ordinateur. Comme vous l’avez appris, Git effectue le suivi des modifications apportées à vos fichiers. Il active des fonctionnalités telles que la création de branches.
GitHub et Azure Repos sont des services en ligne qui conservent des copies de votre référentiel Git et permettent le développement collaboratif. Après vous être inscrit à GitHub ou Azure Repos, vous continuez à utiliser Git en utilisant les mêmes commandes que celles que vous avez déjà utilisées. Vous continuez à travailler sur votre référentiel Git local. La différence réside dans le fait que vous pouvez synchroniser votre référentiel Git local avec un référentiel en ligne. Vous pouvez également accorder l’accès au référentiel en ligne à d’autres personnes, et vous pouvez contrôler s’ils peuvent lire ou modifier votre code.
Notes
Azure Repos est une fonctionnalité de Azure DevOps. Lorsque vous travaillez avec Azure Repos, vous utilisez le site Web Azure DevOps.
Dans un environnement d’équipe, tout le monde de l’équipe gère son propre référentiel Git local et le synchronise avec la copie en ligne. Dans la plupart des cas, la copie en ligne devient la source de vérité pour votre équipe.
Dans un prochain module, vous apprendrez à déployer votre code Bicep via un pipeline de déploiement automatisé. Les pipelines requièrent que votre code soit stocké dans un référentiel en ligne. Le pipeline accède également au code à partir de là.
Notes
GitHub et Azure DevOps sont des options exceptionnelles pour héberger votre référentiel Git. Votre organisation utilise peut-être déjà l’un ou l’autre. Si vous n’avez pas encore de préférence, nous vous recommandons d’utiliser GitHub, car il est généralement plus facile pour commencer.
Référentiels locaux et distants
Lorsque vous utilisez des référentiels hébergés dans GitHub ou Azure DevOps, vous configurez votre référentiel Git local pour qu’il connaisse le référentiel distant. Un référentiel en ligne possède une URL que Git peut utiliser pour y accéder à partir de votre ordinateur. De façon conventionnelle, le terme « origin » fait référence au référentiel distant avec lequel votre référentiel local se synchronise.
Vous devez également configurer des branches de suivi, qui indiquent à Git qu’une branche de votre dépôt local représente la même branche dans votre dépôt en ligne. Ce suivi est particulièrement important pour votre branche main, car elle doit être synchronisée dans tous vos dépôts. Vous pouvez également activer le suivi sur d’autres branches.
Notes
Votre équipe a peut-être déjà créé un référentiel que vous souhaitez afficher ou modifier. Vous pouvez obtenir rapidement une copie du référentiel en clonant le référentiel en ligne à l’aide de la git clone
commande.
Une fois que vous avez configuré votre référentiel local et la branche de suivi, vous pouvez Envoyer le contenu de votre référentiel local vers le référentiel distant. Et vous pouvez extraire les modifications du référentiel distant vers votre référentiel local.
Notes
L'git pull
opération télécharge les modifications à partir de votre référentiel distant, puis fusionne les modifications, comme lorsque vous fusionnez des branches. Parfois, vous souhaitez télécharger uniquement les modifications à partir du référentiel distant, par exemple lorsque vous souhaitez mettre à jour la liste des branches distantes de votre référentiel local. Pour cela, vous pouvez utiliser la commande git fetch
.
Authentification
Quand vous commencez à utiliser les dépôts en ligne, la sécurité devient importante. Le code source de votre infrastructure et de vos applications est précieux et doit être protégé.
GitHub et Azure DevOps appliquent des processus de sécurité complets. Ils requièrent tous deux que vous vous authentifiiez avant de commencer à travailler avec des référentiels distants hébergés sur leurs plateformes.
La première fois que vous essayez d’utiliser un référentiel distant, vous êtes invité à vous connecter à GitHub ou Azure DevOps. Certaines organisations protègent leurs dépôts Git avec des vérifications de sécurité supplémentaires comme l’authentification multifacteur. Une fois que vous êtes connecté, Git utilise un composant appelé Git Credential Manager pour conserver votre accès. Vous n’avez donc pas besoin de vous connecter à chaque fois.
Collaboration avec d’autres utilisateurs
Après avoir configuré votre référentiel Git sur GitHub ou Azure Repos, vous êtes prêt à collaborer avec d’autres utilisateurs. Vous pouvez utiliser de nombreuses fonctionnalités pour travailler avec votre équipe. Une fonctionnalité particulière que vous devez connaître est appelée requêtes de tirage (pull requests), souvent abrégée en PR.
Une requête de tirage est effectivement une fusion contrôlée de deux branches. GitHub ou Azure Repos peuvent appliquer des stratégies sur les personnes autorisées à fusionner et sur les types de modifications qui peuvent être fusionnés.
Un flux de travail d’équipe classique impliquerait qu’un membre de l’équipe apporte des modifications à son code sur une branche, puis crée une requête de tirage pour demander à quelqu’un d’autre de fusionner les modifications apportées à la branche main. Les autres membres de l’équipe peuvent voir la liste des modifications dans la PR. Ces membres de l’équipe peuvent même fournir des commentaires sur les modifications ou demander des révisions avant de les accepter. La PR permet de fournir un contrôle qualité autour du code de votre équipe.
La PR et d’autres fonctionnalités de collaboration n’entrent pas dans le cadre de ce module, mais nous proposons des liens vers des informations sur ces fonctionnalités dans le résumé.