Comment puis-je télécharger les modifications contenues dans une demande d'extraction Github en tant que diff unifié?
Comment puis-je télécharger les modifications contenues dans une demande d'extraction Github en tant que diff unifié?
Réponses:
Pour afficher un commit sous forme de fichier diff / patch, ajoutez simplement .diff
ou .patch
à la fin de l'URL, par exemple:
.patch
. Pourquoi cela n'est-il pas exposé dans l'interface graphique? Comment est-on censé découvrir cela?
git pull
c'est la méthode préférée pour télécharger et appliquer les modifications.
.diff
URL donne un diff direct à la branche par défaut basée sur la sortie git-diff
git-scm.com/docs/git-diff , et l' .patch
URL donne une concaténation des commits individuels dans le PR (chacun par rapport à leur commit parent) dans un format adapté à la messagerie électronique basé sur la sortie git-format-patch
git-scm.com/docs/git-format-patch .
Quelque peu lié, pour laisser git télécharger la requête pull 123 et la patcher mylocalbranch
localement, exécutez:
git checkout -b mylocalbranch
git pull origin pull/921/head
git fetch origin pull/921/head:PR
, puis fusionner avec votre branche actuelle, vous donnant une chance de revoir les changements git merge PR --no-commit --no-ff
Pour obtenir les modifications PR dans votre référentiel local dans un état intermédiaire mais non engagé, vous pouvez donc consulter:
git pull origin pull/123/head --no-commit
Et pour générer un fichier patch à partir de cela:
git diff --cached > pr123.diff