Intro to GitHub:
RevolutionizingVersion
Control and Collaboration
Découvrez GitHub, la plateforme incontournable pour les développeurs
qui révolutionne la gestion de versions et la collaboration. Explorez les
concepts clés, les workflows d'équipe et les meilleures pratiques pour
tirer le meilleur parti de cet outil puissant.
2.
Qu'est-ce que GitHub? Définition de Git et
GitHub
Git
Git est un système de contrôle de version décentralisé qui
permet de suivre les modifications de fichiers, de collaborer
et de gérer les différentes versions d'un projet.
GitHub
GitHub est une plateforme en ligne qui héberge des dépôts
Git et facilite la collaboration, le partage de code et la
gestion de projets pour les développeurs.
La principale différence est que Git est un système de contrôle de version local, tandis que GitHub est une plateforme en
ligne qui utilise Git pour héberger et gérer les dépôts de code. GitHub fournit des outils supplémentaires pour la
collaboration, comme le suivi des problèmes, les demandes d'extraction et les wikis.
3.
Pourquoi les développeurs
utilisentGitHub
1 Suivi des versions
GitHub permet de conserver
l'historique des modifications
d'un projet, facilitant le
débogage et la collaboration.
2 Collaboration
La plateforme facilite le travail
d'équipe en permettant aux
développeurs de contribuer,
de revoir et de fusionner leurs
modifications.
3 Centralisation
GitHub offre un espace centralisé pour héberger, partager et
distribuer le code source de vos projets.
4.
Création d'un compte
GitHub
S'inscrire
Rendez-voussur le site web
de GitHub pour créer un
nouveau compte en
fournissant vos informations
personnelles.
Configurer le profil
Personnalisez votre profil
GitHub en ajoutant une photo,
une bio et en paramétrant vos
préférences.
5.
Concepts clés deGitHub
Dépôt (Repository)
Un espace de stockage centralisé qui
contient l'ensemble du code source
d'un projet.
Commit
Une photographie des modifications
apportées à un projet, accompagnée
d'un message descriptif.
Branches
Des lignes de développement
parallèles permettant d'explorer des
idées sans impacter le projet
principal.
Pull Request
Une demande de fusion de
modifications depuis une branche
vers le projet principal.
6.
Workflow d'équipe avecGitHub
1
Cloner
Les développeurs clonent le dépôt distant sur leurs
machines locales. Commande : `git clone <url du dépôt>`
2 Créer une branche
Chaque développeur crée une nouvelle branche pour
travailler sur ses fonctionnalités. Commande : `git checkout
-b <nom de la branche>`
3
Commiter et pousser
Les modifications sont validées et envoyées sur le dépôt
distant. Commandes : `git add .`, `git commit -m "message
descriptif"`, `git push origin <nom de la branche>` 4 Ouvrir une Pull Request
Une demande de fusion est soumise pour intégrer les
modifications au projet principal. Ceci est généralement fait
via l'interface web de GitHub.
5
Fusionner
Après revue, les modifications sont fusionnées dans la
branche principale. Ceci est généralement fait via
l'interface web de GitHub après avoir résolu les conflits
éventuels.
7.
Gestion des conflitssur GitHub
Identifier les conflits
GitHub vous notifie des conflits de fusion. Il affiche les fichiers avec des conflits dans l'interface de la pull
request.
Résoudre les conflits
Discutez des modifications avec votre équipe. Modifiez le fichier concerné, en choisissant les versions correctes
des lignes de code. Marquez le conflit comme résolu dans l'interface GitHub.
Valider la résolution
Commitez les modifications résolues. GitHub fusionnera alors automatiquement la pull request si tous les
conflits sont résolus et que les tests passent.
8.
Gestion des conflits
Voiciun exemple de conflit dans un fichier :
<<<<<<< HEAD
function bienvenue(nom) {
console.log("Bonjour, " + nom + " !");
=======
function bienvenue(nom, langue) {
if (langue === "fr") {
console.log("Bonjour, " + nom + " !");
} else {
console.log("Hello, " + nom + " !");
}
>>>>>>> main
Dans cet exemple, la branche principale (HEAD) a une fonction simple `bienvenue(nom)`. La branche `main` a ajouté un paramètre
`langue` pour gérer plusieurs langues. GitHub signalera un conflit car les deux versions ont modifié la même fonction. Pour résoudre
ce conflit, il faut choisir la version souhaitée, ou combiner les deux de manière cohérente.
9.
Exercice : Résoudreun Conflit de Fusion
Imaginez que vous travaillez sur une nouvelle fonctionnalité dans une branche nommée « ma-fonctionnalite ». Vous avez modifié un fichier nommé « index.html » :
<!DOCTYPE html>
<html>
<head>
<title>Ma page</title>
</head>
<body>
<h1>Bienvenue sur ma page !</h1>
<p>Ceci est une nouvelle fonctionnalité.</p>
</body>
</html>
Entre-temps, un autre développeur a également modifié « index.html » dans la branche principale :
<!DOCTYPE html>
<html>
<head>
<title>Ma page</title>
</head>
<body>
<h1>Bienvenue !</h1>
<p>Ceci est le contenu original.</p>
</body>
</html>
Lorsque vous créez une pull request pour fusionner « ma-fonctionnalite » dans la branche principale, un conflit de fusion survient. Votre tâche consiste à résoudre ce conflit en utilisant les meilleures pratiques GitHub :
Identifier le conflit : Examinez le fichier « index.html » et repérez les marqueurs de conflit (<<<<<<< HEAD, =======, >>>>>>> main).
Choisir la version correcte : Déterminez si vous souhaitez conserver votre modification, la modification de l’autre développeur, ou une combinaison des deux.
Éditer le fichier : Modifiez « index.html » pour supprimer les marqueurs de conflit et intégrer la version finale du code.
Committer la résolution : Une fois le conflit résolu, validez vos modifications avec un message de commit clair.
10.
Meilleures pratiques GitHub
Écriredes commits
explicites
Rédigez des messages de commit
clairs et concis pour faciliter la
compréhension du projet.
Organiser les branches
Nommez vos branches de manière
significative et suivez une
convention de nommage.
Effectuer des revues de
code
Impliquez d'autres développeurs
dans l'examen de vos
modifications avant de les
fusionner.
Documenter le projet
Créez un fichier README détaillé
pour expliquer le but, l'installation
et l'utilisation de votre projet.
11.
Conclusion
1M
GitHub
10K
Développeurs
100M
Dépôts
100
Langages
GitHub est devenula référence incontournable pour les développeurs du
monde entier. Avec plus d'un million d'utilisateurs, 100 millions de dépôts
et 100 langages supportés, la plateforme facilite la gestion des versions, la
collaboration et la distribution du code source. Rejoignez la communauté
GitHub pour explorer de nouvelles possibilités et révolutionner vos projets
!