Fork, PR et issues
Collaborer sur GitHub
GitHub n'est pas juste un endroit pour stocker du code. C'est une plateforme entière pour collaborer. Proposer des modifications, signaler des bugs, discuter de nouvelles fonctionnalités. Ce vocabulaire revient dans tous les projets open source et dans toutes les équipes.
Issues — signaler et discuter
Une issue, c'est un ticket. Ça peut être :
- Un bug à corriger
- Une fonctionnalité à ajouter
- Une question, une discussion
N'importe qui peut ouvrir une issue sur un dépôt public. L'équipe du projet peut les commenter, les assigner, les fermer.
# Issues = onglet sur GitHub, pas une commande Git
# Exemple d'issue :
Bug : le formulaire plante sur mobile #42
Opened by alice · 3 comments · Label: bug
"Sur iPhone 14, le bouton envoyer ne répond pas."
Fork — copier un projet dans ton compte
Tu veux contribuer à un projet qui ne t'appartient pas. Tu ne peux pas pousser directement dessus. Tu forkes d'abord.
Un fork, c'est une copie du dépôt dans ton compte GitHub. Tu as les droits complets sur ta copie. Tu travailles dessus, puis tu proposes tes modifications au projet original.
Fork = bouton sur GitHub. Pas une commande Git. GitHub crée une copie complète du dépôt dans ton compte. Ensuite tu le clones sur ton ordi.
# 1. Fork via le bouton sur GitHub
# 2. Clone TON fork
git clone https://github.com/TON-PSEUDO/projet.git
# 3. Crée une branche pour ta modif
git checkout -b fix-bug-mobile
# 4. Tu travailles, tu commites...
git add .
git commit -m "Fix formulaire sur mobile"
# 5. Tu pousses ta branche sur ton fork
git push -u origin fix-bug-mobile
Pull Request — proposer ses modifications
Ta correction est sur ton fork. Tu veux que le projet original l'intègre. Tu ouvres une Pull Request (PR).
Une PR dit : "Voilà ce que j'ai fait, est-ce que tu veux l'intégrer ?" Les mainteneurs du projet peuvent :
- Accepter la PR → ton code est fusionné dans le projet
- Demander des modifications → tu corriges, tu re-pousses
- Refuser → avec une explication
# Sur GitHub, après ton push :
# → Bouton "Compare & pull request" apparaît
# → Tu écris un titre et une description
# → Tu cliques "Create pull request"
Fix : formulaire qui plante sur mobile #43
Closes #42 · 2 commits · +15 -3 lignes
Dans la description de ta PR, écris Closes #42 si elle résout une issue.
GitHub fermera automatiquement l'issue quand la PR sera mergée.
Le workflow complet de contribution
# 1. Fork le projet sur GitHub (bouton)
# 2. Clone ton fork
git clone https://github.com/toi/projet.git
# 3. Crée une branche parlante
git checkout -b ma-fonctionnalite
# 4. Fais tes changements
git add .
git commit -m "Description claire"
# 5. Pousse ta branche
git push -u origin ma-fonctionnalite
# 6. Ouvre une Pull Request sur GitHub
- Issue = ticket pour signaler un bug ou proposer une idée. Tout le monde peut en ouvrir.
- Fork = copie d'un dépôt dans ton compte GitHub. Tu y as les droits complets.
- Pull Request = proposition d'intégrer tes modifications dans le projet original.
- Workflow : fork → clone → branche → commit → push → ouvrir PR.
Closes #42dans une PR ferme automatiquement l'issue liée après merge.