Logs
Consultez les logs.
OK
Liste des données
Consultez la liste des données.
OK
Loading...
Formulaire
Saisissez vos données.
Enregistrer
Annuler

Vues
101

Le contrôle de version désigne le suivi et la traçabilité des modifications. Il s'apparente, d'une certaine manière, à l'utilisation d'un marque-page dans un livre, pour indiquer au lecteur où il doit revenir lorsqu'il reprend sa lecture. Dans le contrôle de version, ce marque-page métaphorique fait référence à un instantané du code source. Git est un outil de contrôle de version. Avec Git, vous pouvez créer, suivre, récupérer et partager les modifications d'un dépôt. GitHub est un service d'hébergement où un dépôt est hébergé.

Ce document commence par vous présenter en détail ce qu'est le contrôle de version, pourquoi il est nécessaire et comment il s'intègre au développement d'applications et à la gestion des versions. Grâce à des explications approfondies et des activités intéressantes, vous apprendrez à utiliser Git et GitHub de manière optimale. À la fin de ce document, vous aurez les compétences nécessaires pour sécuriser votre application et garantir son développement rapide.

Nous aborderons à travers ce document des techniques pour comprendre et appliquer les bonnes pratiques de gestion de versions. Nous présenterons l'interface utilisateur de GitHub. Nous essayerons de comprendre le workflow Feature-Branch et en implémenter les fonctionnalités. Nous apprendrons à utiliser les fonctionnalités de fork, telles que les sous-modules et le rebasage. Nous tenterons de maîtriser les commandes de débogage et de maintenance d'un dépôt. Nous montrerons comment mettre en oeuvre l'intégration continue avec CircleCI. Nous essayerons d'acquérir une compréhension approfondie de la gestion des versions et du fonctionnement de GitHub pour les mises en production logicielles.



Contenu de ce document


Nous avons rassemblé dans ce document un ensemble de recettes pratiques pour la mise en oeuvre d'un environnement Git avec GitHub.

Dans la section « Introduction au contrôle de version », nous décrirons le fonctionnement du contrôle de version, les flux de travail et la configuration d'un dépôt local et dépôt GitHub. Nous définirons la gestion de versions et les différents types de flux de travail. Nous expliquerons l'interface utilisateur de GitHub. Nous configurerons les différentes fonctionnalités de GitHub telles que Teams et SSH. Nous créerons un dépôt en respectant les bonnes pratiques GitHub.
Dans la section « Gestion des versions des commits », nous décrirons la comparaison et la modification des commits. Nous expliquerons la nécessité de la gestion des versions des commits. Nous comparerons les commits, les branches, les index et les répertoires de travail. Nous définirons les différentes commandes Git et décrirons leurs fonctions. Nous modifierons les commits.
Dans la section « Récupération et distribution de code », nous décrirons la configuration des branches et la gestion des modifications dans le dépôt. Nous configurerons les connexions aux dépôts hébergés. Nous configurerons les règles d'accès et de protection des branches. Nous récupérerons et intégrerons les modifications dans un dépôt. Nous annulerons les modifications apportées à un dépôt.
Dans la section « Branches », nous décrirons la configuration des branches et la gestion des modifications dans le dépôt. Nous expliquerons le flux de travail des branches de fonctionnalités. Nous créerons, parcourions et supprimerons des branches. Nous gérerons les modifications dans le répertoire de travail. Nous fusionnerons les modifications via des demandes d'extraction. Nous identifierons et résoudrons les problèmes liés aux demandes d'extraction.
Dans section « Git collaboratif », nous décrirons la création de forks de dépôts, le rebasage et l'utilisation des Gitmodules. Nous développerons en collaboration sur un dépôt distant avec d'autres contributeurs. Nous testerons et inspecterons efficacement le code. Nous générerons des artefacts d'application et automatiserons les tests sur GitHub. Nous développerons de nouvelles versions logicielles.
Dans la section « Tests automatisés », nous décrirons l'utilisation des webhooks, de CircleCI, ainsi que le système de tags et de release avec Git. Nous automatiserons les tests et la génération des mises en production d'applications sur GitHub. Nous gérerons les versions logicielles.


Introduction au contrôle de version


Nous définirons le contrôle de version et les différents types de flux de travail utilisés. Nous examinerons ce que sont Git et GitHub, et comment ils interagissent. Nous créerons un dépôt sur GitHub, le clonerons et initialiserons un dépôt en environnement local avant de le transférer (pousser) sur GitHub. Les éléments de base du contrôle de version et le contexte de l'application seront également présentés.


Gestion des versions des commits


Nous expliquerons la nécessité du versionnage des commits. Nous comparerons ensuite les commits, les branches, les index et les arbres de travail, et expliquerons leurs relations. Puis, nous définirons les différentes commandes Git et décrirons leurs fonctions. Enfin, nous montrerons comment modifier des commits, notamment en effectuant des commits arbitraires.


Récupération et distribution de code


Nous explorerons comment les dépôts locaux peuvent se connecter au dépôt distant. Concernant la protection des branches, nous mettrons en place des contrôles pour superviser l'intégration des modifications, en définissant des mesures prises en compte lors de la fusion des modifications dans la branche du dépôt. Nous aborderons les commandes (git push, git fetch et git pull), qui facilitent la récupération des modifications et leur chargement dans le dépôt partagé. Enfin, nous explorerons les commandes (git revert et git reset), qui annulent les modifications.


Branches


Nous utiliserons le flux de travail par branches de fonctionnalités pour implémenter des unités de travail via des branches. Ce flux de travail permettra de nous familiariser avec la convention de nommage utilisée pour identifier la nature du travail effectué par une branche. À l'aide de la commande (git branch), nous créerons, listerons et supprimerons des branches. Nous explorerons comment naviguer dans les différentes révisions d'un dépôt et utiliserons ces mêmes révisions pour intégrer sélectivement des modifications dans des branches. Nous examinerons comment gérer les modifications non indexées dans le répertoire de travail. Enfin, nous déploierons les modifications introduites en comparant les branches, en soumettant des demandes de fusion pour intégrer les modifications souhaitées et en annulant les modifications le cas échéant.


Git collaboratif


Nous décrirons et mettrons en oeuvre un flux de travail basé sur une branche. Ensuite, nous démontrerons comment réécrire l'historique avec Git et expliquerons comment Git aborde l'analyse des causes profondes. Enfin, nous identifierons plusieurs façons dont Git gère la maintenance.


Tests automatisés


Nous aborderons les tests automatisés et les builds via les applications GitHub ainsi que les pull requests automatisées via CircleCI. Nous explorerons ensuite les tags Git et la convention de nommage (SemVer), ainsi que les journaux de modifications et les notes de version. Enfin, nous examinerons l'archivage des versions GitHub.