Como crio e / ou envio uma solicitação pull para outro repositório hospedado no GitHub?
Como crio e / ou envio uma solicitação pull para outro repositório hospedado no GitHub?
Respostas:
(Além da página oficial " Ajuda do GitHub 'Usando solicitações de recebimento' ",
consulte também " Bifurcação versus ramificação no GitHub ", " Qual é a diferença entre origem e upstream no GitHub ")
Supondo que você tenha adquirido um repositório pela primeira vez , eis o que você deve fazer no garfo que possui:
master
, de onde você pode ficar tentado a acumular e misturar várias modificações ao mesmo tempo.origin/master
(certificando-se de que seu patch ainda esteja funcionando) atualizará a solicitação pull automaticamente, automaticamente (não é necessário clicar em nada)git remote prune origin
). A GUI do GitHub proporá que você exclua seu ramo na sua página de solicitação de recebimento.Nota: para escrever a solicitação pull, consulte " Como escrever a solicitação pull perfeita " (janeiro de 2015, GitHub)
Março de 2016: nova opção de botão de mesclagem de relações públicas: consulte " Squash do Github confirmado na interface da web na solicitação de solicitação após comentários de revisão? ".
O mantenedor do repositório pode escolher para merge --squash
aqueles comprometimentos de relações públicas.
Em relação ao último ponto, desde 10 de abril de 2013, " botão de mesclagem reprojetado ", a ramificação é excluída para você:
A exclusão de ramificações após a mesclagem também foi simplificada.
Em vez de confirmar a exclusão com uma etapa extra, removemos imediatamente a ramificação quando você a exclui e fornecemos um link conveniente para restaurar a ramificação no caso de você precisar novamente .
Isso confirma a melhor prática de excluir a ramificação após mesclar uma solicitação de recebimento.
solicitação pull não é um termo oficial "git".
O Git usa o request-pull
comando (!) Para criar uma solicitação de mesclagem:
"resume as alterações entre duas confirmações na saída padrão e inclui a URL especificada no resumo gerado".
O Github lança sua própria versão desde o primeiro dia (fevereiro de 2008) , mas redesenhou esse recurso em maio de 2010 , afirmando que:
Pull Request = Compare View + Issues + Commit comments
<humour>
Essa (solicitação de recebimento) nem é definida corretamente pelo GitHub!
Felizmente, uma verdadeira organização de notícias de negócios saberia e existe uma nota eletrônica para substituir pull-replace por 'e-note' :
Portanto, se seus repos O tory precisa de um e-nota ... pedir Fox Business . Eles estão no saber.
</humour>
branch
vs. master
parece crítica para levar a resposta do meu / Github de uma solução teórica para algo que realmente se usaria.
git pull --rebase upstream/master
está bem.
Para aprender a fazer uma solicitação pull, apenas segui duas páginas de ajuda separadas no Github (link abaixo como pontos de marcador). Os seguintes comandos de linha de comando são para a Parte 1 . A Parte 2 , a solicitação de recebimento real, é feita inteiramente no site do Github.
$ git clone https://github.com/tim-peterson/dwolla-php.git
$ cd dwolla-php
$ git remote add upstream https://github.com/Dwolla/dwolla-php.git
$ git fetch upstream
// make your changes to this newly cloned, local repo
$ git add .
$ git commit -m '1st commit to dwolla'
$ git push origin master
Parte 1 : forçar o repo de alguém: https://help.github.com/articles/fork-a-repo
git clone->cd dwolla-php->git remote->git fetch
sequência acima para clonar seu fork em algum lugar do seu computador (por exemplo, "copie / cole" para, neste caso third_party TimPeterson$
:) e sincronize-o com o repositório principal (Dwolla / dwolla-php)git add->git commit->git push
sequência acima para enviar suas alterações ao repositório remoto, ou seja, seu fork no Github (tim-peterson / dwolla-php)Parte 2 : faça solicitação de recepção: https://help.github.com/articles/using-pull-requests
Tims-MacBook-Pro:third_party TimPeterson$
porque este é um tutorial para iniciantes e esses avisos ajudam a orientar o usuário.
git fetch upstream
, você não precisa mesclar as alterações upstream com sua cópia local, usando git checkout master
então git merge upstream/master
?
Para fazer uma solicitação de recebimento, você precisa executar as seguintes etapas:
Levei um tempo para entender isso, espero que isso ajude alguém.
Comecei um projeto para ajudar as pessoas a fazer sua primeira solicitação de recebimento do GitHub. Você pode fazer o tutorial prático para fazer seu primeiro PR aqui
O fluxo de trabalho é simples como
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git push origin branch-name
Compare and pull request
botãoPara aqueles que possuem uma conta no github.com, mas só recebem uma mensagem de erro desagradável quando digitam "git" na linha de comando, veja como fazer tudo isso no navegador :)
Segui as instruções de tim peterson, mas criei uma filial local para minhas alterações. No entanto, depois de pressionar, eu não estava vendo a nova ramificação no GitHub. A solução foi adicionar -u ao comando push:
git push -u origin <branch>
tim-peterson
o 2º éDwolla
Eu escrevi um programa bash que faz todo o trabalho de configurar uma filial de relações públicas para você. Ele realiza bifurcação, se necessário, sincronizando com o upstream, configurando o upstream remoto, etc. e você só precisa confirmar suas modificações, enviar e enviar um PR.
Aqui está como você o executa:
github-make-pr-branch ssh your-github-username orig_repo_user orig_repo_name new-feature
Você encontrará o programa aqui e seu repositório também inclui um guia passo a passo para executar o mesmo processo manualmente, se você quiser entender como ele funciona, e também informações adicionais sobre como manter sua ramificação de recursos atualizada. data com o mestre upstream e outros boatos úteis.
A solicitação de extração mais simples do GitHub é da interface da web sem usar o git.
Clique no ícone de lápis ,
pesquise texto próximo ao local, faça as edições desejadas e visualize-as para confirmar. Dê à alteração proposta uma descrição com até 50 caracteres e, opcionalmente, uma descrição estendida e clique no botão Propor alteração do arquivo .
Se você estiver lendo isso, não terá acesso de gravação ao repositório (pastas do projeto), portanto o GitHub criará uma cópia do repositório (na verdade uma filial) em sua conta. Clique no botão Criar solicitação de recebimento.