Baixe a solicitação de recebimento do Github como diff unificado


277

Como posso baixar as alterações contidas em uma solicitação de recebimento do Github como um diff unificado?


Normalmente, o link do patch PR é enviado para a pessoa que está aceitando o PR.
kenorb

Isso ainda não foi implementado no GitLab , mas eu criei uma solicitação de recurso, portanto, adicione seus votos a ela.
Colan

Respostas:


486

Para visualizar uma confirmação como um arquivo diff / patch, basta adicionar .diffou .patchao final da URL, por exemplo:


13
Ótimo, obrigado. E tem também .patch. Por que isso não está exposto na GUI? Como se deve descobrir isso?
Thilo

45
Não está documentado para manter o fluxo de pilha nos negócios. Honestamente, essa é a FAQ # 2
sehe

Também porque git pullé o método preferido de baixar e aplicar as alterações.
Tekkub

Ooooh, obrigado, esta resposta vale ouro. (Isso também é postado no blog.) Gostaria de saber como alguém sensato pode trabalhar sem isso e por que não é exposto na interface de usuário da Web ruim o suficiente como está.
mirabilos

8
A julgar pelo que esses retornam e pelos links nos documentos em developer.github.com/v3/media/… , o .diffURL fornece uma comparação direta ao ramo padrão com base na saída git-diff git-scm.com/docs/git-diff , e o .patchURL fornece uma concatenação das confirmações individuais no PR (cada uma relativa à confirmação pai) em um formato adequado para envio por email com base na saída git-format-patch git-scm.com/docs/git-format-patch .
rakslice

49

Um pouco relacionado, para permitir que o git download puxe a solicitação 123 e a remova mylocalbranchlocalmente, execute:

git checkout -b mylocalbranch
git pull origin pull/921/head

10
Ou para obter a solicitação de recebimento em um novo ramo PR git fetch origin pull/921/head:PRe, em seguida, fundir-se com o seu ramo atual, dando-lhe a oportunidade de rever as mudanças git merge PR --no-commit --no-ff
MoonStom


Isso requer que você configure o Git com suas credenciais. Você não pode testar anonimamente uma alteração proposta (como se aplicasse um diff manualmente). Mais uma instância do Git pegando um fluxo de trabalho simples e dificultando.
JWW

2

Para obter as alterações de relações públicas no seu repositório local em um estado intermediário, mas não confirmado, você pode revisar:

git pull origin pull/123/head --no-commit

E para gerar um arquivo de correção a partir disso:

git diff --cached > pr123.diff    
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.