Collaborer : équipes, issues et pull requests¶
Objectifs¶
À la fin de ce tutoriel, tu sauras :
- O1. Créer une équipe et y inviter un coéquipier depuis
/teams/new - O2. Ouvrir une issue pour décrire un problème ou une tâche à réaliser
- O3. Ouvrir une pull request depuis une branche et la fusionner après review
Pré-requis¶
- Technique : dépôt cloné en local (tutoriel 02 complété), accès à un second compte gitrust (ou un coéquipier disponible)
- Pédagogique : tutoriel 02 — Cloner et pousser complété
- Temps estimé : ~25 minutes
Vue d'ensemble¶
gitrust organise la collaboration autour de trois concepts qui s'enchaînent naturellement :
- Une équipe (team) regroupe des personnes et définit leur niveau d'accès à un ou plusieurs dépôts. C'est le point d'entrée pour inviter quelqu'un sur un projet.
- Une issue est une unité de travail : un bug à corriger, une feature à ajouter, une question à trancher. Elle porte un numéro (
#N) qui sert de référence partout. - Une pull request (PR) est une demande de fusion d'une branche vers une autre. Elle lie le code proposé à l'issue qu'il résout et déclenche la review de l'équipe.
flowchart LR
T[Équipe créée
/teams/new] --> R[Dépôt assigné
à l'équipe]
R --> I[Issue ouverte
#1]
I --> B[Branche créée
feat/fix-readme]
B --> PR[Pull Request
ouverte]
PR --> Rev[Review approuvée]
Rev --> M[Fusion dans main]
M --> C[Issue fermée
automatiquement]
Scaffolding niveau 2 : dans ce tutoriel, certaines commandes comportent un trou
___à compléter. L'aide est donnée juste après le bloc de code — essaie d'abord sans regarder.
Étape 1 : Crée une équipe¶
Dans ton navigateur, navigue vers /teams/new.
Remplis le formulaire :
- Nom de l'équipe :
equipe-alpha(lettres minuscules, chiffres, tirets) - Description :
Équipe de développement principale(optionnel)
Clique Créer l'équipe.
Sortie attendue : gitrust te redirige vers la page de l'équipe /teams/equipe-alpha. La page affiche l'équipe avec toi comme premier membre avec le rôle Owner.

Checkpoint : tu vois la page /teams/equipe-alpha avec ton pseudo listé en tant que membre. Si tu obtiens une erreur 422, le nom contient probablement des caractères interdits — utilise uniquement des minuscules et des tirets.
Étape 2 : Invite un coéquipier et assigne le dépôt¶
Sur la page de l'équipe, dans la section Membres, saisis le pseudo de ton coéquipier et clique Inviter.
Sortie attendue :
Dans la section Dépôts, clique Ajouter un dépôt. Sélectionne mon-premier-depot dans la liste et choisis le niveau d'accès Developer. Clique Confirmer.
Sortie attendue :
Checkpoint : ton coéquipier doit maintenant voir mon-premier-depot dans son tableau de bord. Demande-lui de vérifier. Le niveau Developer lui permet de cloner, pousser sur les branches non-protégées et ouvrir des PRs.
Étape 3 : Ouvre une issue¶
Dans ton navigateur, navigue vers /<tonpseudo>/mon-premier-depot/issues/new.
Remplis le formulaire :
- Titre :
Améliorer le README avec une description du projet - Description :
Clique Ouvrir l'issue.
Sortie attendue : gitrust crée l'issue et te redirige vers /<tonpseudo>/mon-premier-depot/issues/1. La page affiche l'issue avec le statut Ouverte et le numéro #1.

Checkpoint : l'URL dans ton navigateur doit se terminer par /issues/1. Note ce numéro — tu l'utiliseras dans le message de commit pour fermer l'issue automatiquement.
Étape 4 : Crée une branche pour travailler¶
Dans ton terminal, depuis le dossier mon-premier-depot, crée une nouvelle branche :
Complète
___avec le nom de branchefeat/ameliorer-readme. La conventiontype/description-courterend les branches lisibles dans la liste.
Réponse :
Sortie attendue :
Modifie le fichier README.md :
cat > README.md << 'EOF'
# mon-premier-depot
Un dépôt de démonstration gitrust.
## Installation
Cloner le dépôt :
```bash
git clone git@gitrust.example.com:tonpseudo/mon-premier-depot.git
Commite et pousse la branche :
```bash
git add README.md
git commit -m "améliore le README - closes #1"
git push origin feat/ameliorer-readme
Sortie attendue :
[feat/ameliorer-readme 7c3d4e5] améliore le README - closes #1
1 file changed, 10 insertions(+), 1 deletion(-)
...
To git@gitrust.example.com:tonpseudo/mon-premier-depot.git
* [new branch] feat/ameliorer-readme -> feat/ameliorer-readme
Checkpoint : la sortie de git push montre [new branch] feat/ameliorer-readme. Si elle montre rejected, exécute d'abord git pull origin main --rebase.
Étape 5 : Ouvre une pull request¶
Dans ton navigateur, navigue vers /<tonpseudo>/mon-premier-depot/pulls/new.
gitrust peut avoir détecté ta branche et proposer une bannière « Ouvrir une PR pour feat/ameliorer-readme » — clique dessus si elle apparaît.
Remplis le formulaire :
- Titre :
Améliore le README avec description et installation - Branche source :
feat/ameliorer-readme - Branche cible :
main - Description :
Closes #1(gitrust fermera l'issue automatiquement à la fusion) - Reviewers : sélectionne ton coéquipier (s'il est disponible)
Clique Ouvrir la pull request.
Sortie attendue : gitrust crée la PR et te redirige vers /<tonpseudo>/mon-premier-depot/pulls/1.

Checkpoint : la PR est bien à l'état Ouverte et l'onglet Fichiers modifiés montre les changements dans README.md. Si la PR est vide (pas de diff), vérifie que tu as bien sélectionné feat/ameliorer-readme comme branche source.
Étape 6 : Fusionne la pull request¶
Si ton coéquipier peut review, demande-lui d'approuver la PR avant de fusionner. Dans ce tutoriel, tu peux fusionner directement si tu es seul.
Sur la page de la PR, fais défiler jusqu'à la section Fusion. Sélectionne la stratégie Merge commit (par défaut). Clique Fusionner la pull request.
Sortie attendue (message dans l'interface) :
La PR passe au statut Fusionnée (violet). Navigue vers /<tonpseudo>/mon-premier-depot/issues/1 — l'issue doit être Fermée automatiquement grâce au closes #1 dans le message de commit.

Checkpoint : l'issue #1 est au statut Fermée. La page principale du dépôt affiche le nouveau contenu du README.md. Si l'issue est encore ouverte, vérifie que le message de commit contenait exactement closes #1 (respecter la casse n'est pas requis, mais le numéro doit être correct).
Récapitulatif¶
- ✓ O1 accompli : tu as créé l'équipe
equipe-alphavia/teams/new, invité un membre et assigné le dépôt avec le niveau Developer - ✓ O2 accompli : tu as ouvert l'issue #1 pour décrire la tâche, obtenant une unité de travail traçable et numérotée
- ✓ O3 accompli : tu as ouvert une PR depuis
feat/ameliorer-readme, la fusionner a fermé l'issue automatiquement grâce àcloses #1
Et si ça ne marche pas¶
| Symptôme | Cause probable | Correction |
|---|---|---|
| Le coéquipier ne voit pas le dépôt dans son tableau de bord | L'accès au dépôt n'a pas été correctement accordé à l'équipe | Sur la page de l'équipe, vérifie que le dépôt apparaît dans la section Dépôts avec un niveau d'accès. Reconfirme si nécessaire |
| La PR n'a pas de diff (onglet Fichiers modifiés vide) | La branche source est identique à la branche cible | Vérifie que tu as bien poussé depuis feat/ameliorer-readme et non depuis main. Exécute git log --oneline main..feat/ameliorer-readme pour voir les commits en attente |
| L'issue #1 reste ouverte après fusion | Le message de commit ne contient pas le mot-clé reconnu, ou le numéro est incorrect | Les mots-clés acceptés sont closes, fixes, resolves (insensibles à la casse) suivi de #N. Vérifie le message exact avec git log --oneline |
git push refusé avec remote: push blocked |
La branche main est protégée et le push direct y est interdit |
C'est normal : travaille toujours sur une branche séparée et utilise une PR pour fusionner dans main |
Prochaine étape¶
→ 04 — Automatiser avec la CI : écris ton premier .gitrust-ci.yml, déclenche un pipeline et lis le résultat (~20 min)