Git pour développeurs : un workflow complet de l'init au déploiement
Git est le cœur battant du développement logiciel moderne. Que vous gériez un projet en solo ou que vous travailliez en équipe, une solide compréhension de Git est essentielle pour une gestion de versions efficace et une collaboration réussie. Dans cet article, nous vous guidons à travers le cycle de vie complet d'un projet Git : de l'initialisation d'un dépôt au déploiement de votre code. Nous nous concentrons sur des workflows pratiques utilisant à la fois les commandes Git standard et des outils pratiques comme gh (GitHub CLI) et glab (GitLab CLI).
Initialiser Git : configurer les bases
Chaque projet Git commence par la création d'un dépôt. Cela peut se faire localement ou via une plateforme comme GitHub ou GitLab :
- Créer un dépôt local :
git init- Crée un dépôt Git vide dans le dossier actuel - Cloner un dépôt existant :
git clone https://github.com/utilisateur/depot.git
Après l'initialisation, il est important de configurer votre identité dans Git :
git config --global user.name "Votre Nom"
git config --global user.email "votre@email.com"
Travailler avec les branches : développer de manière organisée
Les branches sont cruciales dans les workflows Git. Elles vous permettent de travailler en parallèle sur des fonctionnalités sans perturber la base de code principale.
Commandes de base pour les branches :
git branch- Affiche toutes les branches localesgit branch feature-x- Crée une nouvelle branchegit switch feature-x- Bascule vers la branche feature-xgit switch -c hotfix- Crée et bascule vers une nouvelle branche en une seule commande
Enregistrer les modifications de code
Le processus du workflow Git comprend trois étapes principales :
git add fichier.txt- Ajoute les modifications à la zone de staginggit commit -m "Description des modifications"- Enregistre les modificationsgit push origin nomdebranche- Publie les modifications vers le dépôt distant
Conseil : Utilisez git status régulièrement pour voir l'aperçu de l'état actuel.
Collaborer avec les Pull/Merge Requests
Pour les projets d'équipe, les Pull Requests (GitHub) ou Merge Requests (GitLab) sont essentielles pour les revues de code.
GitHub CLI (gh) pour les Pull Requests :
gh pr create --title "Nouvelle fonctionnalité" --body "Description des modifications"
GitLab CLI (glab) pour les Merge Requests :
glab mr create --title "Nouvelle fonctionnalité" --description "Description des modifications"
Résoudre les conflits de fusion
Les conflits sont inévitables lors du travail en équipe. Git propose des outils pour les résoudre :
git diff- Affiche les différences entre les versionsgit mergetool- Lance un outil de fusion visuel- Après la résolution du conflit :
git add fichier_en_conflitetgit commit
Workflows avec GitHub Actions et GitLab CI/CD
Les services d'hébergement Git modernes offrent des outils CI/CD puissants :
GitHub Actions :
gh workflow view - Affiche les workflows et vous permet d'inspecter les derniers runs
GitLab CI/CD :
Définissez un fichier .gitlab-ci.yml à la racine de votre projet pour des pipelines automatisées.
Déployer depuis Git
Git s'intègre parfaitement aux processus de déploiement modernes :
- Git hooks : Des scripts qui s'exécutent automatiquement lors de certaines actions Git
- Pipelines CI/CD : Déploiement automatique après des tests réussis
- Déploiement direct : Certaines solutions d'hébergement permettent le déploiement en poussant simplement vers une branche spécifique
Techniques Git avancées
Pour les utilisateurs expérimentés, Git offre des outils puissants :
git rebase- Réécrit l'historique des commits pour une timeline plus propregit cherry-pick- Application sélective de commits spécifiquesgit bisect- Recherche binaire du commit qui a introduit un bug
Conclusion et bonnes pratiques
Maîtriser Git est un incontournable pour chaque développeur. Retenez ces principes clés :
- Commitez souvent, en petites unités logiques
- Utilisez des messages de commit descriptifs
- Travaillez dans des branches de fonctionnalités
- Révisez le code via des Pull/Merge Requests
- Automatisez les tests et le déploiement
Avec ce workflow Git, vous pouvez travailler efficacement sur des projets de toute taille, en toute confiance dans votre gestion de versions et votre processus de collaboration.