Git et GitHub : pourquoi chaque développeur doit les maîtriser
Git est un système de contrôle de version qui suit chaque modification de votre code. GitHub est la plateforme qui hébergé vos projets Git en ligne et permet la collaboration. Au Sénégal, maîtriser Git/GitHub est devenu un prerequis pour tout poste de développeur. C’est aussi votre portfolio professionnel : les recruteurs consultent votre profil GitHub pour évaluer vos compétences.
Installer et configurer Git
# Télécharger Git depuis git-scm.com
# Vérifier l'installation
git --version
# git version 2.43.0
# Configuration initiale (a faire une seule fois)
git config --global user.name "Moussa Diallo"
git config --global user.email "moussa@monsite.sn"
git config --global init.defaultBranch main
# Vérifier la config
git config --list
Les concepts fondamentaux
| Concept | Définition | Analogie |
|---|---|---|
| Repository (repo) | Dossier de projet suivi par Git | Un classeur contenant votre projet |
| Commit | Un instantane de vos fichiers a un moment donne | Une photo de votre travail a un instant T |
| Branch | Une version parallele de votre projet | Un brouillon pour tester des idees |
| Merge | Fusionner une branche dans une autre | Intégrer le brouillon dans le document final |
| Push | Envoyer vos commits vers GitHub | Sauvegarder votre travail dans le cloud |
| Pull | Télécharger les modifications depuis GitHub | Récupérer les changements de votre collegue |
| Clone | Copier un repo distant sur votre PC | Photocopier le classeur d’un collegue |
Workflow de base en 7 commandes
# 1. Initialiser un nouveau projet
mkdir mon-projet && cd mon-projet
git init
# 2. Créer des fichiers et travailler
echo "# Mon Projet" > README.md
# 3. Voir l'état des fichiers
git status
# Montre les fichiers modifies, non suivis, etc.
# 4. Ajouter des fichiers au staging (preparation du commit)
git add README.md
# Ou ajouter tous les fichiers modifies :
git add .
# 5. Créer un commit (sauvegarder l'état)
git commit -m "Premier commit : ajout du README"
# 6. Connecter a GitHub
git remote add origin https://github.com/votre-user/mon-projet.git
# 7. Envoyer vers GitHub
git push -u origin main
Travailler avec les branches
# Créer une branche pour une nouvelle fonctionnalité
git branch feature/page-contact
git checkout feature/page-contact
# Ou en une seule commande :
git checkout -b feature/page-contact
# Travailler sur la branche (modifier des fichiers)
git add .
git commit -m "Ajout de la page contact avec formulaire"
# Revenir sur main
git checkout main
# Fusionner la branche
git merge feature/page-contact
# Supprimer la branche fusionnee
git branch -d feature/page-contact
# Envoyer sur GitHub
git push origin main
Créer votre premier repo GitHub
- Créez un compte sur github.com
- Cliquez sur « New repository » (bouton vert)
- Nom du repo, description, cochez « Add a README »
- Clonez le repo sur votre PC :
git clone https://github.com/votre-user/mon-repo.git - Travaillez, committez, poussez !
Configurer l’authentification SSH (recommande)
# Générer une clé SSH
ssh-keygen -t ed25519 -C "moussa@monsite.sn"
# Appuyez Entrée pour accepter le chemin par défaut
# Entrez une passphrase (optionnel mais recommande)
# Copier la clé publique
cat ~/.ssh/id_ed25519.pub
# Copiez le contenu
# Sur GitHub : Settings > SSH and GPG keys > New SSH key
# Collez votre clé publique
# Testez la connexion
ssh -T git@github.com
# "Hi votre-user! You've successfully authenticated"
# Maintenant clonez avec SSH (plus besoin de mot de passe)
git clone git@github.com:votre-user/mon-repo.git
Le fichier .gitignore
# Fichier .gitignore pour un projet WordPress
# Environnement
.env
wp-config-local.php
# Dependencies
node_modules/
vendor/
# Fichiers système
.DS_Store
Thumbs.db
# Logs
*.log
debug.log
# Uploads (souvent trop volumineux pour Git)
wp-content/uploads/
# IDE
.vscode/
.idea/
Les commandes indispensables
# Voir l'historique des commits
git log --oneline
# a1b2c3d Premier commit
# d4e5f6g Ajout page contact
# Voir les differences avant de commiter
git diff
# Annuler les modifications non commitees d'un fichier
git checkout -- fichier.html
# Revenir a un commit précédent (sans perdre l'historique)
git revert HEAD
# Sauvegarder temporairement le travail en cours
git stash
# Travailler sur autre chose...
git stash pop # Récupérer le travail sauvegarde
# Voir les branches
git branch -a
# Télécharger les changements distants sans fusionner
git fetch origin
# Télécharger ET fusionner
git pull origin main
Collaborer avec les Pull Requests
- Forkez le repo du collegue (bouton Fork sur GitHub)
- Clonez votre fork :
git clone git@github.com:votre-user/repo-forke.git - Créez une branche :
git checkout -b fix/correction-bug - Faites vos modifications et committez
- Poussez :
git push origin fix/correction-bug - Sur GitHub, cliquez « Compare & pull request »
- Decrivez vos changements et soumettez la PR
- Le proprietaire du repo review et merge
Votre profil GitHub comme portfolio
Au Sénégal, les recruteurs IT regardent de plus en plus les profils GitHub. Optimisez le votre :
- Photo professionnelle et bio complete
- README de profil : créez un repo avec votre nom d’utilisateur et un README.md qui présenté vos compétences
- Projets epingles : sélectionnez vos 6 meilleurs projets a afficher en premier
- Contributions regulieres : le calendrier de contributions (carres verts) montre votre activité
- READMEs soignes : chaque projet doit avoir un README expliquant ce qu’il fait, comment l’installer et comment l’utiliser
Checklist Git/GitHub
- Git installe et configure (nom, email)
- Compte GitHub créé avec profil complet
- Clé SSH configuree pour l’authentification
- Premier repo créé et pousse sur GitHub
- Workflow branch/commit/merge maîtrise
- .gitignore configure pour votre type de projet
- Au moins 3 projets publics sur votre profil