GitHub est un outil indispensable pour les développeurs modernes. Il a rendu la gestion des versions et la collaboration plus accessibles grâce à son interface intuitive et ses fonctionnalités efficaces. Cependant, il peut être intimidant de comprendre comment organiser efficacement son travail au début. Notamment avec les branches, les commits, et les pull requests.
Cet article vous guide à travers une introduction à GitHub et à son workflow, vous permettant de comprendre comment structurer votre projet. À la fin de l’article, découvrez les 7 étapes simplifiées pour démarrer avec GitHub desktop. Vous permettant d’adopter rapidement un workflow efficace sans ligne de commande.
Qu’est-ce que Github et pourquoi l’utiliser ?
GitHub est une plateforme en ligne qui utilise Git pour le versioning et la gestion de projets. C’est une sorte de réseau social pour développeurs où le code est au cœur des interactions. GitHub facilite le travail collaboratif grâce à des outils qui permettent de gérer le code, suivre les bugs, discuter des modifications, et déployer des projets.
Les principaux avantages de GitHub :
Collaboration simplifiée :
GitHub permet à plusieurs développeurs de travailler sur le même projet, d’examiner les changements, et de fusionner du code de manière ordonnée.
Contrôle de version :
Chaque changement est enregistré avec un commit, permettant de suivre et de gérer les modifications de manière transparente.
Gestion des projets et des issues :
Suivi des bugs, gestion des nouvelles fonctionnalités, et planification des tâches à travers des outils intégrés.
GitHub : interface et application locale
L’interface web de Github : visualiser et gérer votre vode
L’interface web de GitHub est l’endroit où vous allez interagir visuellement avec votre code et vos équipes. Voici quelques fonctionnalités clés de l’interface web :
- Tableau de bord des projets : suivez l’avancement des projets et les modifications récentes.
- Branches et commits: visualisez les branches actives et l’historique des commits, offrant un aperçu rapide des évolutions du projet.
- Pull requests (PR) : les PR sont au cœur de la collaboration sur GitHub. Elles permettent de proposer des modifications, de discuter du code, et de fusionner les changements dans les branches principales.
Application Github desktop : travailler localement avec une interface graphique
En plus de l’interface web, GitHub propose une application locale appelée GitHub Desktop. Elle permet de gérer vos dépôts GitHub directement depuis votre ordinateur avec une interface graphique, idéale pour ceux qui ne sont pas à l’aise avec les lignes de commande.
Fonctionnalités principales de Github desktop :
- Cloner des dépôts : téléchargez facilement les projets GitHub pour travailler dessus localement.
- Gestion des branches: créez, fusionnez, et supprimez des branches sans toucher à la ligne de commande.
- Synchronisation des changements : poussez vos commits vers GitHub et récupérez les dernières mises à jour de vos collaborateurs.
GitHub Workflow : structurer votre travail pour un développement optimal
Le Workflow GitHub désigne la manière dont les développeurs organisent leur travail sur GitHub. Il aide à structurer le développement, gérer les fonctionnalités et résoudre les bugs de manière efficace. Voici les principales étapes d’un Workflow GitHub :
1. Branche principales : main et dev
- Main : la branche principale de production qui doit toujours contenir du code stable.
- Dev: branche de développement où sont fusionnées toutes les nouvelles fonctionnalités avant d’être testées et déployées.
- Pull requests (PR) : les PR sont au cœur de la collaboration sur GitHub. Elles permettent de proposer des modifications, de discuter du code, et de fusionner les changements dans les branches principales.
2. Feature branches : travailler sur de nouvelles fonctionnalités
- Chaque nouvelle fonctionnalité ou amélioration est développée dans une branche distincte, souvent nommée en fonction de la fonctionnalité (feature/nouvelles-fonctionnalité). Cela permet de travailler de manière isolée et de ne pas affecter la branche principale tant que la fonctionnalité n’est pas prête.
3. Pull requests : revue et fusion du code
- Une fois une fonctionnalité terminée, une pull est créée pour proposer la fusion de la branche de fonctionnalité avec ‘Dev’. Les autres développeurs peuvent alors réviser le code, faire des commentaires et approuver les modifications.
4. Branches de correction (Hotfix)
- Les hotfix branches sont utilisées pour corriger des bugs critiques en production. Elles sont créées directement à partir de la branche principale ‘Main’ et fusionnées une fois le bug corrigé.
Pourquoi utiliser des branches pour chaque fonctionnalité ?
Créer une branche pour chaque fonctionnalité présente plusieurs avantages :
- Isolation des changements : chaque fonctionnalité est développée indépendamment, réduisant le risque de conflits et de bugs.
- Facilité de gestion: les branches offrent une vue d’ensemble claire du travail en cours, facilitant la coordination entre les développeurs.
- Contrôle de qualité : les pull requests permettent une revue de code approfondie avant de fusionner les modifications dans la branche principale.
Comment démarrer avec Github : étapes simplifiées avec GitHub Desktop
1. Télécharger et installer GitHub Desktop :
- Rendez-vous sur le site desktop.github.com et téléchargez GitHub Desktop.
- Installez l’application et connectez-vous avec votre compte GitHub.
2. Cloner un dépôt depuis Github :
- Pour cloner un dépôt existant, cliquez sur « File » > « Clone Repository ».
- Sélectionnez votre dépôt dans la liste (ou entrez l’URL du dépôt) et choisissez l’emplacement sur votre ordinateur où le projet sera enregistré.
- Cliquez sur « Clone » pour télécharger le projet sur votre machine. C’est tout, pas besoin de ligne de commande !
3. Créer une nouvelle branche :
- Dans GitHub Desktop, vous verrez une section « Current Branch » en haut de l’interface.
- Cliquez sur « Current Branch », puis sur « New Branch ».
- Donnez un nom à votre branche, par exemple ‘feature/ma-nouvelle-fonctionnalité’, et cliquez sur « Create Branch ».
- Vous travaillez maintenant sur cette nouvelle branche. Aucune commande terminal n’est nécessaire !
4. Faire des modifications et des commits :
- Apportez vos modifications au code en utilisant votre éditeur de code préféré (comme VS Code, Sublime Text, etc.).
- Une fois les changements effectués, revenez à GitHub desktop. Les fichiers modifiés apparaîtront dans la liste des modifications non validées.
- Ajoutez une description de vos changements dans le champ « Summary » en bas à gauche, puis cliquez sur « Commit to feature/ma-nouvelle-fonctionnalité » pour valider vos modifications. Chaque commit enregistre une étape de votre travail.
5. Pousser les changements sur Github (Push) :
- Une fois le commit créé, un bouton « Push origin » apparaîtra en haut de GitHub desktop.
- Cliquez sur ce bouton pour envoyer vos modifications sur GitHub, directement dans votre branche ‘feature/ma-nouvelle-fonctionnalité’
6. Créer une Pull Request (PR) directement depuis Github desktop :
- Après avoir poussé vos modifications, GitHub desktop propose un lien pour créer une Pull Request directement depuis l’interface.
- Cliquez sur « Create Pull Request », ce qui vous dirigera vers gitHub.com où la PR sera pré-remplie avec les informations de votre branche.
- Ajoutez une description si nécessaire, et soumettez la PR pour révision.
7. Revue et fusion de la Pull Request:
- Une fois sur GitHub, la Pull Request peut être revue par vous ou d’autres membres de votre équipe. Vous pouvez voir les changements, laisser des commentaires et approuver la fusion.
- Cliquez sur « Create Pull Request », ce qui vous dirigera vers gitHub.com où la PR sera pré-remplie avec les informations de votre branche.
- Une fois la revue terminée, cliquez sur « Merge Pull Request » pour fusionner votre code dans la branche principale (comme ‘dev’ ou ‘main’).
En utilisant GitHub Desktop, vous pouvez vous concentrer sur le développement sans vous soucier de la complexité des commandes Git. Cela rend le workflow plus fluide et accessible, notamment pour les développeurs débutants ou ceux qui préfèrent travailler dans un environnement graphique.
Conclusion
GitHub est bien plus qu’un simple hébergeur de code ; c’est une plateforme qui améliore considérablement la collaboration et la gestion des projets. En maîtrisant le GitHub Workflow, vous optimiserez la manière dont vous développez en équipe. Avant d’explorer plus en détails les commande de Git et d’automatisation de votre Workflow familiarisez-vous avec l’interface de GitHub Desktop. Créez des branches, et lancez-vous dans des pull requests pour prendre le contrôle de votre développement.