
GitHub : collaborer et gérer vos projets avec Git
Qu'est-ce que GitHub ?
GitHub est une plateforme web basée sur Git qui permet d'héberger, versionner et collaborer sur des projets de développement. Avec plus de 100 millions de développeurs, c'est la plus grande communauté de code au monde.
GitHub offre bien plus qu'un simple hébergement de dépôts : gestion de projets, revue de code, CI/CD, documentation et bien plus encore.
Prérequis : installer Git
Linux
sudo apt install git
macOS
brew install git
Windows
Téléchargez Git for Windows.
Configuration initiale
git config --global user.name "Votre Nom"
git config --global user.email "votre@email.com"
Créer un compte et un dépôt
- Créez un compte sur github.com
- Cliquez sur New repository
- Donnez un nom, choisissez la visibilité (public/privé)
- Cliquez sur Create repository
Cloner un dépôt existant
git clone https://github.com/utilisateur/mon-projet.git
cd mon-projet
Lier un projet local à GitHub
cd mon-projet
git init
git add .
git commit -m "Initial commit"
git remote add origin https://github.com/utilisateur/mon-projet.git
git push -u origin main
Les commandes Git essentielles
Workflow quotidien
# Voir l'état des fichiers
git status
# Ajouter des fichiers au staging
git add fichier.js
git add . # tous les fichiers modifiés
# Créer un commit
git commit -m "feat: ajouter la page d'accueil"
# Envoyer les commits sur GitHub
git push
# Récupérer les dernières modifications
git pull
Historique et inspection
# Voir l'historique des commits
git log --oneline
# Voir les modifications en cours
git diff
# Voir qui a modifié chaque ligne d'un fichier
git blame fichier.js
Les branches
Les branches permettent de travailler sur des fonctionnalités en parallèle sans affecter le code principal.
# Créer et basculer sur une nouvelle branche
git checkout -b feature/ma-fonctionnalite
# Lister les branches
git branch
# Basculer sur une branche existante
git checkout main
# Supprimer une branche locale
git branch -d feature/ma-fonctionnalite
# Pousser une branche sur GitHub
git push -u origin feature/ma-fonctionnalite
Stratégie de branches courante
main— code stable, prêt pour la productiondevelop— intégration des fonctionnalités en coursfeature/*— nouvelles fonctionnalitésfix/*— corrections de bugsrelease/*— préparation d'une nouvelle version
Les Pull Requests (PR)
Une Pull Request est une demande de fusion d'une branche vers une autre. C'est le cœur de la collaboration sur GitHub.
Créer une Pull Request
- Poussez votre branche sur GitHub
- Allez sur votre dépôt GitHub
- Cliquez sur Compare & pull request
- Ajoutez un titre et une description
- Assignez des reviewers
- Cliquez sur Create pull request
Bonnes pratiques pour les PR
- Un sujet par PR — ne mélangez pas plusieurs fonctionnalités
- Description claire — expliquez le pourquoi, pas seulement le quoi
- Petites PR — plus faciles à relire et à merger
- Tests inclus — prouvez que votre code fonctionne
Les Issues
Les Issues servent à suivre les bugs, les fonctionnalités à développer et les discussions.
Créer une bonne Issue
## Description
Décrivez le problème ou la fonctionnalité demandée.
## Étapes pour reproduire (bugs)
1. Aller sur la page X
2. Cliquer sur Y
3. Observer l'erreur
## Comportement attendu
Ce qui devrait se passer.
## Captures d'écran
Si applicable.
Labels utiles
bug— quelque chose ne fonctionne pasenhancement— amélioration souhaitéedocumentation— mise à jour de la docgood first issue— idéal pour les nouveaux contributeurs
GitHub Actions (CI/CD)
GitHub Actions permet d'automatiser des workflows directement depuis votre dépôt.
Exemple : lancer les tests à chaque push
# .github/workflows/tests.yml
name: Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci
- run: npm test
Exemple : déployer automatiquement
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run build
- name: Deploy to server
run: rsync -avz ./dist/ user@serveur:/var/www/html/
GitHub Pages
GitHub Pages permet d'héberger gratuitement un site statique directement depuis un dépôt.
- Allez dans Settings > Pages
- Choisissez la branche source (
mainough-pages) - Votre site est accessible sur
https://utilisateur.github.io/mon-projet/
Fichiers importants d'un dépôt
| Fichier | Rôle |
|---|---|
README.md | Présentation du projet |
LICENSE | Licence open source |
.gitignore | Fichiers à exclure du versioning |
CONTRIBUTING.md | Guide pour les contributeurs |
CHANGELOG.md | Historique des changements |
Exemple de .gitignore pour Node.js
node_modules/
.env
dist/
*.log
.DS_Store
Raccourcis clavier sur GitHub
| Raccourci | Action |
|---|---|
t | Rechercher un fichier |
. | Ouvrir l'éditeur web (github.dev) |
s | Aller à la barre de recherche |
g n | Aller aux notifications |
g c | Aller au code du dépôt |
Conclusion
GitHub est bien plus qu'un hébergeur de code — c'est un écosystème complet pour développer, collaborer et déployer vos projets. Maîtriser Git et GitHub est une compétence essentielle pour tout développeur, que ce soit pour contribuer à l'open source ou travailler en équipe.
Articles similaires

Guide Complet : Comment Créer un Projet de Développement Structuré
Apprenez à créer un projet de développement bien structuré. Étapes, organisation, outils et bonnes pratiques pour démarrer sur de bonnes bases.
Similaires

Docker : conteneuriser vos applications simplement
Apprenez à utiliser Docker pour conteneuriser vos applications : installation, commandes essentielles, Dockerfile, Docker Compose et bonnes pratiques.
Similaires
Propres

fzf : le fuzzy finder qui booste votre productivité en terminal
Découvrez fzf, l'outil en ligne de commande pour rechercher fichiers, historique et bien plus grâce à la recherche floue interactive dans votre terminal.
Similaires
Propres