Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Git est devenu la norme mondiale pour le contrôle de version. Alors, qu’est-ce que c’est exactement ?
Git est un système de contrôle de version distribué, ce qui signifie qu’un clone local du projet est un référentiel complet de contrôle de version. Ces référentiels locaux entièrement fonctionnels facilitent le travail hors connexion ou à distance. Les développeurs valident leur travail localement, puis synchronisent leur copie du référentiel avec la copie sur le serveur. Ce paradigme diffère du contrôle de version centralisé où les clients doivent synchroniser du code avec un serveur avant de créer de nouvelles versions de code.
La flexibilité et la popularité de Git constituent un excellent choix pour n’importe quelle équipe. De nombreux développeurs et diplômés du collège savent déjà comment utiliser Git. La communauté des utilisateurs de Git a créé des ressources pour former les développeurs et la popularité de Git, ce qui facilite l’obtention de l’aide si nécessaire. Presque chaque environnement de développement prend en charge Git et les outils en ligne de commande Git implémentés sur chaque système d’exploitation majeur.
Notions de base Git
Chaque fois que le travail est enregistré, Git crée une validation. Une validation est un instantané de tous les fichiers à un moment donné. Si un fichier n’a pas changé d’une validation à l’autre, Git utilise le fichier précédemment stocké. Cette conception diffère des autres systèmes qui stockent une version initiale d’un fichier et conservent un enregistrement de deltas au fil du temps.
Les validations créent des liens vers d’autres validations, formant un graphique de l’historique de développement. Il est possible de rétablir le code à une validation précédente, d’inspecter la façon dont les fichiers ont changé d’une validation à l’autre et de passer en revue les informations telles que l’emplacement et le moment où des modifications ont été apportées. Les validations sont identifiées dans Git par un hachage de chiffrement unique du contenu de la validation. Étant donné que tout est haché, il est impossible d’apporter des modifications, de perdre des informations ou de endommager des fichiers sans la détecter par Git.
Branches
Chaque développeur enregistre les modifications apportées à son propre référentiel de code local. Par conséquent, il peut y avoir de nombreuses modifications différentes basées sur le même commit. Git fournit des outils pour isoler les modifications et les fusionner ultérieurement. Les branches, qui sont des pointeurs légers pour le travail en cours, gèrent cette séparation. Une fois le travail créé dans une branche terminé, il peut être fusionné dans la branche principale (ou jonction) de l’équipe.
Fichiers et commits
Les fichiers dans Git se trouvent dans l’un des trois états suivants : modifiés, intermédiaires ou validés. Lorsqu’un fichier est modifié pour la première fois, les modifications existent uniquement dans le répertoire de travail. Ils ne font pas encore partie d’un commit ou de l’historique de développement. Le développeur doit mettre en scène les fichiers modifiés à inclure dans la validation. La zone de staging contient toutes les modifications à inclure dans le prochain commit. Une fois que le développeur est satisfait des fichiers intermédiaires, les fichiers sont empaquetés en tant que validation avec un message décrivant ce qui a changé. Cette contribution fait partie de l'historique du développement.
La préproduction permet aux développeurs de choisir les modifications de fichier à enregistrer dans une validation afin de décomposer les modifications importantes dans une série de validations plus petites. En réduisant l’étendue des validations, il est plus facile de passer en revue l’historique des validations pour rechercher des modifications de fichier spécifiques.
Avantages de Git
Les avantages de Git sont nombreux.
Développement simultané
Tout le monde a sa propre copie locale du code et peut travailler simultanément sur ses propres branches. Git fonctionne hors connexion, car presque toutes les opérations sont locales.
Livraisons plus rapides
Les branches permettent un développement flexible et simultané. La branche principale contient du code stable et de haute qualité à partir duquel vous publiez. Les branches de fonctionnalité contiennent des travaux en cours, qui sont fusionnés dans la branche principale une fois terminés. En séparant la branche de mise en production du développement en cours, il est plus facile de gérer le code stable et d’expédier les mises à jour plus rapidement.
Intégration intégrée
En raison de sa popularité, Git s’intègre à la plupart des outils et produits. Chaque IDE principal prend en charge Git intégré et de nombreux outils prennent en charge l’intégration continue, le déploiement continu, les tests automatisés, le suivi des éléments de travail, les métriques et l’intégration des fonctionnalités de création de rapports avec Git. Cette intégration simplifie le flux de travail quotidien.
Soutien solide de la communauté
Git est open source et est devenu la norme de facto pour le contrôle de version. Il n’y a pas de pénurie d’outils et de ressources disponibles pour que les équipes tirent parti. Le volume de prise en charge de la communauté pour Git par rapport à d’autres systèmes de contrôle de version facilite l’obtention de l’aide si nécessaire.
Git fonctionne avec n’importe quelle équipe
L’utilisation de Git avec un outil de gestion du code source augmente la productivité d’une équipe en encourageant la collaboration, en appliquant des stratégies, en automatisant les processus et en améliorant la visibilité et la traçabilité du travail. L’équipe peut s’installer sur des outils individuels pour le contrôle de version, le suivi des éléments de travail et l’intégration et le déploiement continus. Ils peuvent également choisir une solution telle que GitHub ou Azure DevOps qui prend en charge toutes ces tâches à un seul endroit.
Demandes de tirage
Utilisez des demandes de tirage pour discuter des modifications de code avec l’équipe avant de les fusionner dans la branche principale. Les discussions dans les pull requests sont inestimables pour garantir la qualité du code et renforcer les connaissances au sein de votre équipe. Les plateformes telles que GitHub et Azure DevOps offrent une expérience de pull request complète où les développeurs peuvent parcourir les modifications de fichier, laisser des commentaires, inspecter les validations, afficher les compilations et voter pour approuver le code.
Stratégies de branche
Teams peut configurer GitHub et Azure DevOps pour appliquer des flux de travail et des processus cohérents au sein de l’équipe. Ils peuvent configurer des stratégies de branche pour s’assurer que les pull requests répondent aux exigences avant d’être finalisées. Les stratégies de gestion de branche protègent les branches critiques en empêchant les poussées directes, en exigeant des réviseurs, et en garantissant des builds réussis.