Versão do artigo: Enterprise Server 2.17
Fazer checkout de pull requests no local
When someone sends you a pull request from a fork or branch of your repository, you can merge it locally to resolve a merge conflict or to test and verify the changes before merging on GitHub Enterprise.
Note: Pull request authors can give upstream repository maintainers, or those with push access to the upstream repository, permission to make commits to their pull request's compare branch in a user-owned fork. Para obter mais informações, consulte "Permitir alterações no branch de uma pull request criada de uma bifurcação".
Modificar uma pull request ativa no local
- Under your repository name, click Pull requests.
- Na lista de pull requests, clique na pull request da qual deseja fazer merge.
- In the merge box, click command line instructions. Siga a sequência de etapas para rebaixar a pull request proposta.
- Optionally, to view proposed changes in GitHub Desktop, click open this in GitHub Desktop.
Modificar uma pull request inativa no local
If a pull request's author is unresponsive to requests or has deleted their fork, the pull request can still be merged. No entanto, se quiser fazer alterações em uma pull request e o autor não estiver respondendo, será preciso executar algumas etapas adicionais para atualizar a pull request.
Once a pull request is opened, GitHub Enterprise stores all of the changes remotely. In other words, commits in a pull request are available in a repository even before the pull request is merged. You can fetch an open pull request and recreate it as your own.
Qualquer pessoa pode abrir uma pull request anteriormente aberta para continuar trabalhando nela, testá-la ou, até mesmo, abrir uma nova pull request com alterações adicionais. No entanto, somente colaboradores com acesso push podem fazer merge de pull requests.
- Under your repository name, click Issues or Pull requests.
- Na lista "Pull Requests", clique na pull request da qual deseja fazer merge.
- Encontre o número da ID da pull request inativa. Essa é a sequência de dígitos certa após o título da pull request.
- Open TerminalTerminalGit Bash.
- Faça fetch da referência à pull request com base no número da ID, criando um branch no processo.
$ git fetch origin pull/ID/head:BRANCHNAME
- Alterne para o novo branch que se baseia nesta pull request:
[master] $ git checkout BRANCHNAME > Switched to a new branch 'BRANCHNAME'
- Nesse ponto, você pode fazer qualquer coisa que desejar com este branch. É possível executar alguns testes locais, ou fazer merge de outros branches nele, incluindo o
master
. - Quando estiver pronto, você poderá fazer push do novo branch:
[pull-inactive-pull-request] $ git push origin BRANCHNAME > Counting objects: 32, done. > Delta compression using up to 8 threads. > Compressing objects: 100% (26/26), done. > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done. > Total 29 (delta 8), reused 0 (delta 0) > To https://hostname/username/repository.git > * [new branch] BRANCHNAME -> BRANCHNAME
- Crie uma pull request com seu novo branch.
Erro: falha ao fazer push de algumas refs
O namespace refs/pull/
remoto é somente leitura. Se você tentar fazer push de qualquer commit nele, este erro será exibido:
! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref)
error: failed to push some refs to 'git@github.local:USERNAME/REPOSITORY.git'
Dica: ao remover ou renomear uma referência remote, seu namespace refs/pull/origin/
local não será afetado pelas chamadas a git-remote
.