Les pull requests permettent de proposer des modifications sur un dépôt qui ne nous appartient pas.
Par défaut, lorsqu’on fait un fetch
, git
utilise ce qui est spécifié
dans .git/config
comme par exemple :
[remote "origin"]
url = ssh://git@git.nuage.com/projet/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
Mais on peut aussi récupérer par exemple les pull requests
.
Il faut juste connaitre le chemin.
Par exemple, sous Stash, pour récupérer toutes les pull requests
,
on peut faire :
$ git fetch origin +refs/pull-requests/*:refs/remotes/origin/pr/*
Plus pratique encore, pour créer une branche locale correspondant à une PR que l’on veut tester :
$ git fetch origin refs/pull-requests/42/from:pr_42
Cela crée la branche locale pr_42
pour la PR numéro 42 dans origin
.
Ainsi, même pas besoin d’avoir accès au dépôt privé de celui qui a fait la PR.
Pour tester, il ne reste plus qu'à faire :
$ git checkout pr_42
Je n’ai pas testé moi-même, mais il semblerait que sous GitHub, l'équivalent soit :
$ git fetch origin refs/pull/42/head:pull_42
Dans les deux cas, on peut remplacer from
(ou head
) par merge
pour avoir la version fusionnée dans la branche cible (généralement master
).
Voir aussi :
- Git : déménagement d'un dépôt
- Git rebase : pour diviser un commit
- Git submodule
- Git : pour extraire de l'information
- Git bisect : pour trouver l'origine d'une régression
- Git tag : pour nommer des versions
- Git archive : exporter du contenu
- Git subtree : créer un nouveau dépôt à partir du répertoire d'un autre dépôt
- Git : les branches
- Git : comment corriger des erreurs
- Git diff : voir les différences
- Git clean : grand nettoyage
- Git : aide mémoire de base
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit