📝 BLOG

Git et Contrôle de Version : Commandes de Base et Workflows

Git est l'outil fondamental du développement logiciel moderne. Ce guide couvre les commandes de base de Git, les stratégies de branching et les workflows.

Mise à jour :

Préparé par: Gsetsoft

Git et Contrôle de Version : Commandes de Base et Workflows

Qu'est-ce que Git et pourquoi l'utiliser ?

Git est un système de contrôle de version distribué. Il suit les changements de code, gère différentes versions et facilite la collaboration en équipe.

Structure distribuée : Chaque développeur a une copie complète du repository. Cela permet le travail hors ligne et des opérations rapides.

Branching : Créez des branches séparées pour différentes fonctionnalités ou corrections. Cela garde le code principal (main/master) toujours stable.

Merge et rebase : Fusionnez les branches dans la branche principale. Merge préserve l'historique des commits. Rebase crée un historique linéaire.

Commandes Git de Base

git init : Crée un nouveau repository. git clone <url> : Copie un repository existant.

git add <file> : Ajoute les changements à la staging area. git add . : Ajoute tous les changements.

git commit -m "message" : Commit les changements stagés. Écrivez des messages de commit significatifs.

git status : Vérifie l'état du repository. git log : Affiche l'historique des commits.

git diff : Voit les différences entre le répertoire de travail et la staging area. git diff --staged : Voit les différences entre la staging area et le dernier commit.

Branching et Merging

git branch <name> : Crée une nouvelle branche. git checkout <name> ou git switch <name> : Bascule vers la branche.

git merge <branch> : Fusionne la branche dans la branche actuelle. Utilise fast-forward merge ou three-way merge.

Conflit de merge : Résolution manuelle requise pour les changements conflictuels. Éditez les fichiers conflictuels, marquez avec git add, complétez avec git commit.

git branch -d <name> : Supprime la branche. git branch -D <name> : Force la suppression d'une branche non fusionnée.

Opérations de Repository Distant

git remote add origin <url> : Ajoute un repository distant. git remote -v : Liste les remotes.

git push origin <branch> : Envoie les changements locaux au remote. git push -u origin main : Définit la branche upstream.

git pull : Récupère et fusionne les changements distants. git fetch : Récupère les changements distants (sans fusion).

git push --force : Met à jour forcément la branche distante (utiliser avec précaution). git push --force-with-lease : Force push plus sûr.

Stratégies de Branching

Git Flow : main (production), develop (développement), feature/* (nouvelles fonctionnalités), release/* (préparation de version), hotfix/* (corrections urgentes).

GitHub Flow : branche main + branches de fonctionnalités. Chaque branche de fonctionnalité est fusionnée dans main via pull request. Simple et efficace.

Trunk-Based Development : Une seule branche main, branches de fonctionnalités de courte durée (1-2 jours). Combiné avec l'intégration continue (CI/CD).

Critères de sélection : Git Flow pour les grands projets, GitHub Flow pour les projets petits-moyens, Trunk-Based Development pour les équipes avec CI/CD mature.

Meilleures Pratiques

Messages de commit : Utilisez le mode impératif ('Add feature' pas 'Added feature'). Limitez la première ligne à 50 caractères, les détails à 72 caractères.

Commits atomiques : Chaque commit doit contenir un seul changement. Divisez les grands changements en petits commits.

Nommage des branches : Utilisez des noms descriptifs comme feature/user-authentication, bugfix/login-error, hotfix/security-patch.

.gitignore : Ignorez les fichiers inutiles (node_modules, .env, build/). Utilisez les templates gitignore de GitHub.

Pull request : Utilisez les pull requests pour la revue de code. Chaque changement doit être revu par au moins une personne.

Outils associés

Votre choix de confidentialité

Les cookies essentiels assurent sécurité et sessions. Les visites de base sont comptées ; votre accord active des analyses supplémentaires. Politique de cookies