As solicitações pull são ótimas para entender o pensamento mais amplo sobre uma alteração ou conjunto de alterações feitas em um repo. As solicitações pull de leitura são uma ótima maneira de agregar rapidamente um projeto, pois, em vez de pequenas alterações atômicas na fonte, você obtém grupos maiores de alterações lógicas. Análogo a organizar as linhas do seu código em "estrofes" relacionadas para facilitar a leitura.
Encontro-me olhando para um arquivo ou uma confirmação, e me pergunto se existe uma maneira de retroceder a confirmação para a solicitação de solicitação que originalmente o criou. Essa solicitação de recebimento seria mesclada eventualmente, mas não necessária com uma consolidação de mesclagem.
git
github
pull-request
DragonFax
fonte
fonte
Respostas:
Você pode simplesmente acessar o github e inserir o SHA na barra de pesquisa, selecione o link "Problemas" à esquerda.ATUALIZADO 13 de julho de 2017
Através da interface do usuário do Github, agora existe uma maneira muito fácil de fazer isso. Se você estiver olhando para uma confirmação na lista de confirmações em uma ramificação na interface do usuário, clique no link da confirmação. Se houver um PR para esse commit e ele não foi adicionado diretamente à ramificação, um link para o PR que listará o número do PR e a ramificação em que ele entrou estará diretamente abaixo da mensagem de commit na parte superior da página.
Se você possui o commit SHA e nada mais e não deseja procurar por ele, basta adicionar
/commit/[commit SHA]
ao URL do repositório e você verá a página de commit, com o link PR, se existir. Por exemplo, se o SHA for 52797a7a3b087231e4e391e11ea861569205aaf4 e o repositório for https://github.com/glimmerjs/glimmer-vm , acesse https://github.com/glimmerjs/glimmer-vm/commit/52797a7a3b08723eae4e391efonte
e4077951
, isso ainda funciona para você?master
)?Se necessário, mude
origin
para o nome do controle remoto que aponta para o repositório do github para o qual a solicitação de recebimento teria sido enviada. O primeiro comando precisa ser executado apenas uma vez para um determinado controle remoto, e o segundo geralmente será realizado ao obter outras atualizações.Isso fará com que o git obtenha informações sobre solicitações de recebimento junto com ramificações reais. Eles aparecerão como ramificações de rastreamento remoto
origin/pull/123
. Feito isso, você pode usargit describe
com as opções--all
e--contains
para mostrar o primeiro ramo que possui o commit referenciado.No entanto, isso não funcionará se o commit que você está procurando for realmente uma versão modificada do commit a partir da solicitação pull, como se as alterações tivessem sido rebaseadas em outro trabalho ou se a pessoa que efetuou a mesclagem decidiu fazer algumas alterações.
fonte
pull/*/head
confirmações sem os blobs? Como alguém "se limpa" depois disso (reconfigura as origens)?upstream
foi realmente um erro. Eu copiei isso de um repositório que tinha essa configuração em que o controle remoto foi nomeadoupstream
e perdi a ocorrência ao alterá-lo para usar o mais comumorigin
como o nome do controle remoto. Eu editei a resposta para corrigir isso.refs/remotes/origin/pr/*
vez derefs/remotes/origin/pull/*
Desde 13 de outubro de 2014, isso deve ser direto:
Por exemplo:
Você pode ver no arquivo
hakimel/reveal.js/plugin/markdown/markdown.js
, minha contribuição agora vem com uma referência ao PR # 734 que ele originou.Isso vem da vinculação de solicitações pull mescladas de confirmações :
fonte
API
nível?Coloque o hash de confirmação no campo de filtros Pull Request no GitHub.
fonte
Eu tive esse mesmo problema e escrevi o pr_for_sha bash helper, documentado aqui:
http://joey.aghion.com/find-the-github-pull-request-for-a-commit/
Chame assim
pr_for_sha <COMMIT>
e ele abrirá a página de solicitação de recebimento do github correspondente em um navegador.fonte
git log
comando para funcionar.git log --merges --ancestry-path --oneline 66100ab0..master
-fatal: ambiguous argument '66100ab0..master': unknown revision or path not in the working tree.
-git version 2.25.0