Aller au contenu principal
GitHub : collaborer et gérer vos projets avec Git
Retour aux articles

GitHub : collaborer et gérer vos projets avec Git

Auteur 1 min de lecture

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

bash
sudo apt install git

macOS

bash
brew install git

Windows

Téléchargez Git for Windows.

Configuration initiale

bash
git config --global user.name "Votre Nom"
git config --global user.email "votre@email.com"

Créer un compte et un dépôt

  1. Créez un compte sur github.com
  2. Cliquez sur New repository
  3. Donnez un nom, choisissez la visibilité (public/privé)
  4. Cliquez sur Create repository

Cloner un dépôt existant

bash
git clone https://github.com/utilisateur/mon-projet.git
cd mon-projet

Lier un projet local à GitHub

bash
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

bash
# 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

bash
# 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.

bash
# 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 production
  • develop — intégration des fonctionnalités en cours
  • feature/* — nouvelles fonctionnalités
  • fix/* — corrections de bugs
  • release/* — 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

  1. Poussez votre branche sur GitHub
  2. Allez sur votre dépôt GitHub
  3. Cliquez sur Compare & pull request
  4. Ajoutez un titre et une description
  5. Assignez des reviewers
  6. 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

markdown
## 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 pas
  • enhancement — amélioration souhaitée
  • documentation — mise à jour de la doc
  • good 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

yaml
# .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

yaml
# .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.

  1. Allez dans Settings > Pages
  2. Choisissez la branche source (main ou gh-pages)
  3. Votre site est accessible sur https://utilisateur.github.io/mon-projet/

Fichiers importants d'un dépôt

FichierRôle
README.mdPrésentation du projet
LICENSELicence open source
.gitignoreFichiers à exclure du versioning
CONTRIBUTING.mdGuide pour les contributeurs
CHANGELOG.mdHistorique des changements

Exemple de .gitignore pour Node.js

text
node_modules/
.env
dist/
*.log
.DS_Store

Raccourcis clavier sur GitHub

RaccourciAction
tRechercher un fichier
.Ouvrir l'éditeur web (github.dev)
sAller à la barre de recherche
g nAller aux notifications
g cAller 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